1数组的创建
var arr1 = new Array(); var arr2=[1,2,3];
2数组常用的方法:
push,pop,shift,unshift,splice,slice,sort,reverse
2.1 push方法:在元素尾端插入元素
var arr=[1,2,3]; var result = arr.push(1,3,4);//返回新数组的长度 console.log("arr:"+arr); console.log("result:"+result);
结果:
arr:1,2,3,1,3,4
result:6
2.2 pop方法:在元素末端弹出一个元素
var arr=[1,2,3]; var result = arr.pop();//返回弹出元素的值 console.log("arr:"+arr); console.log("result:"+result);
结果:
arr:1,2
result:3
2.3 shift方法:在元素的首位弹出一个元素
var arr=[1,2,3]; var result = arr.shift();//返回弹出元素的值 console.log("arr:"+arr); console.log("result:"+result);
结果:
arr:2,3
result:1
2.4 unshift方法: 在元素的首位插入元素
var arr=[1,2,3]; var result = arr.unshift(4,5);//返回新数组的长度 console.log("arr:"+arr); console.log("result:"+result);
结果:
arr:4,5,1,2,3
result:5
2.5 splice方法: 对数组截取,然后插入数据,直接操作数组本身
var arr=[1,2,3,4,5]; arr.splice(1,2,3,4); console.log("arr:"+arr);
结果:
arr:1,3,4,4,5
分析:
第一个参数:截取开始的位置
第二个参数:截取的个数
第二个参数以后:插入的数据,如果没有第三个参数,则不插入
2.6 slice方法: 对数组截取,但不对数组本身操作
var arr=[1,2,3,4,5]; var result =arr.slice(2,4); console.log("arr:"+arr); console.log("result:"+result);
结果:
arr:1,2,3,4,5
result:3,4
分析:
第一个参数:截取开始的位置 为为闭区间
第二个参数:截取结束的位置 为开区间
如:[2,4)
2.7 concat方法: 对数组拼接,但不操作数组本身
var arr1 =[1,2,3]; var arr2=[3,4,5]; var result = arr1.concat(arr2); console.log("arr1:"+arr1); console.log("arr2:"+arr2); console.log("result:"+result);
结果:
arr1:1,2,3
arr2:3,4,5
result:1,2,3,3,4,5
2.8 join方法: 对数组每个元素之间插入元素,但不操作数组本身
var arr =[1,2,3]; var result =arr.join("-"); console.log("arr:"+arr); console.log("result:"+result);
结果:
arr:1,2,3
result:1-2-3
2.9 reverse方法: 把数组里的元素的位置倒过来
var arr =[1,2,3]; var result =arr.reverse(); console.log("arr:"+arr);
结果:
arr:3,2,1
2.10 sort方法: 把数组里元素排序(有缺陷)
var arr =[4,10,1,5]; var result =arr.sort(); console.log("arr:"+arr);
结果:
arr:1,10,4,5
分析:
在比较的过程中这个10是先按第一位比较再按第二位比较,所以排在了1后面,4前面。
2.11 sort方法扩张
var arr =[4,10,1,5]; function compare(value1,value2){//自定义排序规则 if(value1>value2){ return 1; }else if(value1<value2){ return -1; }else{ return 0; } } var result =arr.sort(compare);使用自定义的排序规则 实现从小到大排序 要想实现从大到小 修改排序规则 console.log("arr:"+arr);
结果:
arr:1,4,5,10