码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript 数组

时间:2015-12-11 01:25:39      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:

 参考自<<JavaScript权威指南 第6版>>, 直接上代码和注释

 1 //可以包含不同类型的元素
 2 var misc = [1.1,2,true,"string"];
 3 //省略的元素会被设置为undefined
 4 var misc = [1,,,3];
 5 //数组是特殊的对象, 支持动态扩展
 6 var misc = ["hello"];
 7 misc[1] = "roger";
 8 misc[2] = 100;
 9 //本质上,数组的索引就是对象属性名的一种特殊类型, 所以js中数组没有越界的概念, 当试图查询不存在属性时,返回undefined.
10 //-- 所以完全可以使用负数和非整数来索引数组, 这种情况下数值转换为字符串, 字符串作为属性名用.
11 misc[-1.23] = true; //可能是被单独保存, 就像对象的属性一样被记录.console.log(misc["-1.23"]);
12 misc["1000"] = 100;
13 misc[0.000] = "world"; // 会把 "hello" 修改, 因为索引转化为字符串 ‘0‘
14 console.log(misc.length); //长度是1001
15 //在数组末尾添加
16 misc.push("string");

 

 1 //判断数组
 2 var a = [];
 3 console.log(typeof(a)); //使用typeof返回值是 "object"
 4 console.log(Array.isArray(a)); // 可以使用Array.isArray(obj)判断: "true"
 5 console.log(Array.isArray({})); // 对象不是数组 : "false"
 6 
 7 //数组的操作
 8 var array = ["a","1","b","2","C"];
 9 //---join()---
10 console.log(array.join("-")); // 用 - 连接数组元素, 不改变原数组
11 //---reverse()---
12 array.reverse(); //直接在原数组中重排
13 console.log(array); // [ ‘C‘, ‘2‘, ‘b‘, ‘1‘, ‘a‘ ]
14 //---sort()---
15 temp = array.sort(); //直接对原数组排序,改变原数组,同时返回排好序的原数组
16 console.log(temp === array); // 返回的数组就是原数组
17 console.log(array);//[ ‘1‘, ‘2‘, ‘C‘, ‘a‘, ‘b‘ ]
18 array.sort(function(s,t){//接收一个比较函数
19     var a = s.toLowerCase();
20     var b = t.toLowerCase();
21     return a<b;
22 });
23 console.log(array);
24 //----concat()---
25 console.log(array.concat(["d","f"])); // 不会修改原始数组, 创建新数组连接后返回
26 //---slice()----
27 console.log(array.slice(0,-1)); //[ ‘C‘, ‘b‘, ‘a‘, ‘2‘ ], 返回切片, 不修改原数组
28 console.log(array.slice(0)); //[ ‘C‘, ‘b‘, ‘a‘, ‘2‘, ‘1‘ ]
29 //---splice()---, 参数: 删除/插入的位置(或称操作位置), 操作元素个数, 插入的元素, 返回删除的元素组成的数组
30 console.log(array.splice(4)); //[ ‘1‘ ]  删除索引4后面的所有元素
31 console.log(array); // [ ‘C‘, ‘b‘, ‘a‘, ‘2‘ ] 修改了原始数组
32 array.splice(2,0,‘k‘,‘r‘);
33 console.log(array);//[ ‘C‘, ‘b‘, ‘k‘, ‘r‘, ‘a‘, ‘2‘ ]
34 //---push/pop, unshift/shift
35 //...so easy...

 

JavaScript 数组

标签:

原文地址:http://www.cnblogs.com/roger9567/p/5036857.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!