[转] Javascript中数组与字典(即map)的使用

简述:

简单记录一下数据结构Map和数组,

其实在Javascript这种弱类型的脚本语言中,数组同时也就是字典,下面主要就是字典数组的简易使用


代码:

1. 数组中添加map

[html] view plaincopy

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <title>Test</title>
  6. <script type="text/javascript">
  7. var arr = [];
  8. var key = ‘Jeremy‘;
  9. var value = ‘!!!!‘
  10. arr.push({
  11. ‘key‘: key,
  12. ‘value‘: value,
  13. });
  14. document.write("key: " + arr[0][‘key‘] +
  15. "<br/>value: " + arr[0][‘value‘]);
  16. </script>
  17. </head>
  18. <body>
  19. </body>
  20. </html>

输出0:


2. 数组遍历输出

[html] view plaincopy

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <title>Test</title>
  6. </head>
  7. <body>
  8. <script type="text/javascript">
  9. var arr = [];
  10. arr.push("Jeremy");
  11. arr.push("Jimmy");
  12. for(var i in arr)
  13. document.write(i + ": " + arr[i] + "</br>");
  14. </script>
  15. </body>
  16. </html>

输出1:

3. 类似字典(map)遍历

[html] view plaincopy

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <title>Test</title>
  6. </head>
  7. <body>
  8. <script type="text/javascript">
  9. var dict = []; //or dict = new Array()
  10. dict["Jeremy"] = 20;
  11. dict["Jimmy"] = 30;
  12. for(var key in dict)
  13. document.write(key + ": " + dict[key] + "</br>");
  14. </script>
  15. </body>
  16. </html>


输出2:

4. 字典声明时赋值

[java] view plaincopy

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <title>Test</title>
  6. </head>
  7. <body>
  8. <script type="text/javascript">
  9. var dict = {
  10. "Jeremy" : 20,
  11. "Jimmy" : 30
  12. };
  13. for(var key in dict)
  14. document.write(key + ": " + dict[key] + "</br>");
  15. </script>
  16. </body>
  17. </html>

输出3:

5.字典中嵌套数组

[html] view plaincopy

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <title>Test</title>
  6. </head>
  7. <body>
  8. <script type="text/javascript">
  9. var dict = {
  10. "Jeremy" : ["Chinese", "Math"] ,
  11. "Jimmy" : ["Art", "English"]
  12. };
  13. var name = "Jeremy";
  14. for(var courseIndex in dict[name])
  15. document.write(dict[name][courseIndex] + "</br>");
  16. </script>
  17. </body>
  18. </html>


输:4:

6. 字典里value为数组, 数组内为字典,

下面的逻辑就是学生 :  课程列表 : 某门的课程信息

[html] view plaincopy

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <title>Test</title>
  6. </head>
  7. <body>
  8. <script type="text/javascript">
  9. var dict = [];
  10. var courseListOfJeremy = [
  11. {"Chinese" : 3},
  12. {"Math": 5}
  13. ];
  14. dict[‘Jeremy‘] = courseListOfJeremy;
  15. var courseListOfJimmy =  [
  16. {"Art": 3},
  17. {"English": 5}
  18. ];
  19. dict[‘Jimmy‘] = courseListOfJimmy;
  20. document.write("Jimmy‘s Course Number Of Chinese: " + dict[‘Jeremy‘][0][‘Chinese‘]);
  21. </script>
  22. </body>
  23. </html>


输出5:

时间: 2024-10-11 16:15:28

[转] Javascript中数组与字典(即map)的使用的相关文章

私人定制javascript中数组小知识点(Only For Me)

先上笑话,1.刚看到一个游泳的,想起公司组织去三亚旅游,老板跳海里,各种挣扎,捞上来老板第一句话:我记得我会游泳的啊. 2.媳妇说:老公对不起,我把你新买的自行车撞散架了! 老公:没事宝贝,你若安好,便是晴天! 媳妇说:老公你太有诗意了. 老公:滚犊子,安不好我整死你! 数组的概念 javascript数组是值得有序集合,不过它实属一个javascript对象的特殊形式,这是一个很重点的定性. 创建数组 1.var a=new Array();//等同于[] 2.var a=new Array(

JavaScript中数组高级编程实践

今天我们来全面介绍 JavaScript 中 数组的高级使用,与EcmaScript5 Array API 实战. 利用这些新的API 和 技巧,将提高你的开发效率 和 代码的水平. 理解这些原生的API是 非常有必要的,假以时日,我们也可以写出 underscore ...这样的工具库来. Come on Baby! 先看一下 Array.prototype 的全家福. 在JavaScript 中,数组就是有顺序的存储一系列值,长度动态扩容. ,先看我们的EcmaScript 规范中的  对

JavaScript中数组Array.sort()排序方法详解

JavaScript中数组的sort()方法主要用于对数组的元素进行排序.其中,sort()方法有一个可选参数.但是,此参数必须是函数. 数组在调用sort()方法时,如果没有传参将按字母顺序(字符编码顺序)对数组中的元素进行排序,如果想按照其他标准进行排序,就需要进行传一个参数且为函数,该函数要比较两个值,并且会返回一个用于说明这两个值的相对顺序的数字. 1.对数字数组进行由小到大的顺序进行排序. 代码: var arr = [22,12,3,43,56,47,4]; arr.sort();

javascript中数组常用方法总结

原文:javascript中数组常用方法总结 在javascript的基础编程中,数组是我们最常遇到的,那么数组的一些常用方法也是我们必须要掌握的,下面我们总结一下数组中常用的方法. toString()和valueOf()方法 toString()方法,就是将数组拼接成字符串返回,默认情况下以逗号分隔.valueOf返回数组本身. 1 var a=["a3","bs","c1","d邓"]; 2 var c=a.toStri

浅谈JavaScript中数组操作常用方法

JavaScript中数组操作常用方法 1.检测数组 1)检测对象是否为数组,使用instanceof 操作符 if(value instanceof Array) { //对数组执行某些操作 } 2)获取对象的类型,比较是否为object类型(此方法只能检测是否为Object,不推荐) if(typeof(value)=="Object") { //对数组执行某些操作 } 3)检测对象是否为数组,使用Array.isArray()方法(只支持ie9+,firefox 4+,safar

javascript中数组比较大小方法

javascript中数组取最大值和最小值 1.排序法 我们给数组进行排序,可以按照从小到大的顺序来排,排序之后的数组中第一个和最后一个就是我们想要获取的最小值和最大值.排序我们会用到数组的 sort 方法. var arr = [12,56,25,5,82,51,22]; arr.sort(function (a, b) { return a-b; }); // [5,12,22,25,51,56] var min = arr[0]; // 5 var max = arr[arr.length

javascript中数组的map方法

map方法原型:array1.map(callbackfn[, thisArg]) 参数: array1,必选. 一个数组对象.该函数一般用于数组对象 callbackfn,必选. 最多可以接受三个参数的函数. 对于数组中的每个元素,map 方法都会调用 callbackfn 函数一次. thisArg,可选. callbackfn 函数中的 this 关键字可引用的对象. 如果省略 thisArg,则 undefined 将用作 this 值. 返回值: 一个新数组,其中的每个元素均为关联的原

javascript中数组常用的方法

在JavaScript中,数组可以使用Array构造函数来创建,或使用[]快速创建,这也是首选的方法.数组是继承自Object的原型,并且他对typeof没有特殊的返回值,他只返回'object'. 运行[] instanceof Array他会返回ture.虽然结果是这样,但也有复杂的类数组对象,如字符串或arguments对象,但arguments对象并非是Array的实例,但他却拥有length属性,而且他的值是可以被索引的,因此他可以像一个数组那样被遍历. 这本文中,我将介绍数组原型的一

javascript中数组的22种方法 (转载)

前面的话 数组总共有22种方法,本文将其分为对象继承方法.数组转换方法.栈和队列方法.数组排序方法.数组拼接方法.创建子数组方法.数组删改方法.数组位置方法.数组归并方法和数组迭代方法共10类来进行详细介绍 对象继承方法 数组是一种特殊的对象,继承了对象Object的toString().toLocaleString()和valueOf()方法 [toString()] toString()方法返回由数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串 [注意]该方法的返回值与不使用任何参数