一、数组常用方法:
1、创建
1)构造函数
var a = new Array(); //无参数构造,返回 [] var b = new Array(5); //一个参数表示数组长度,返回 [undefined × 5],b.length == 5 var c = new Array(1,2,3); //多个参数为初始化数组,返回 [1, 2, 3]
2)字面量
var a = []; var b = [1,2,3]; var c = [1,2,3,]; //length在现代浏览器是3,低版本ie下数组长度可能为4
2、访问
以下标索引的方式获取值或赋值
var a = [1,2,3]; console.log(a[0]); //返回1 var index = 1; console.log(a[index]); //返回2,索引可以是变量
3、添加,push、unshift、splice
var a = [1]; a.push(2); //在数组的尾部添加 a.unshift(3); //在数组的头部添加 a.splice(1, 0, 4,5,6); //在索引为1的位置处开始插入4,5,6 console.log(a); //[3, 4, 5, 6, 1, 2]
4、删除,pop、shift、splice,都有返回值,返回的是被删除的元素,splice返回的是被删除的数组
var a = [1, 2, 3, 4, 5, 6]; a.pop(); //删除数组的尾部一个元素 a.shift(); //删除数组的头部一个元素 a.splice(1, 3); //在索引为1的位置处开始删除3个元素 console.log(a); //[2]
======================
以上3到4的函数都是对数组本身做了更改
======================
5、截取,slice
var a = [1, 2, 3, 4, 5, 6]; var b = a.slice(2); console.log(a); //[1, 2, 3, 4, 5, 6] console.log(b); //[3, 4, 5, 6] var c = a.slice(2,4); console.log(a); // [1, 2, 3, 4, 5, 6] console.log(c); // [3, 4]
6、合并和拷贝,concat
1)合并
var a = []; var b = [1,2,3]; var c = [1,2,3,]; a.concat(b, c); console.log(a); // 返回空数组[] var d = a.concat(b, c); console.log(d); //返回[1, 2, 3, 1, 2, 3]
2)拷贝
var a = [1,2,3]; var b = a.concat(); //不加参数是拷贝数组 console.log(b); //[1,2,3]
======================
以上5到6的函数都不对数组本身做更改,而是返回一个新数组
======================
7、排序,reverse,sort
var a = [1,2,3]; a.reverse(); //反序数组 console.log(a); //[3, 2, 1]
sort可以传入排序函数,数组中的对象可以根据某个键的值来排序
var a = [{ id: 1, name: 'lsy' },{ id:10, name: 'lsy10' }, { id:3, name: 'lsy3' }, { id:9, name: 'lsy9' } ]; a.sort(function (b,c) { return b.id-c.id }); console.log(JSON.stringify(a, null, 4)); [ { "id": 1, "name": "lsy" }, { "id": 3, "name": "lsy3" }, { "id": 9, "name": "lsy9" }, { "id": 10, "name": "lsy10" } ]
8、字符串化,join,把数组的元素用符合连接成字符串
var a = [1,2,3]; var str = a.join(','); //将数组用逗号连接 console.log(a); //[1, 2, 3] console.log(str); //1,2,3