天天看点

javascript 原生数组操作指南

作者:前端饭团

1. 数组的创建

var arrayObj = new Array(); //创建一个数组

var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度

var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); //创建一个数组并赋值

var arrayObj = []; //建议使用这种方式创建数组

//for example

var arr = new Array();

var arr = new Array(2);

var arr = new Array(1,2);

var arr = [1,2];
           

要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为2,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。

2.数组元素的访问

var arr = [1,2];

console.log(arr[0]); //1

console.log(arr[1]); //2

//赋值

arr[1]=3;

console.log(arr); //[1,3]           

3.数组元素的添加

//将一个或多个新元素添加到数组结尾,并返回数组新长度
arrayObj.push([item1 [item2 [. . . [itemN ]]]]);
//将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度
arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);
//将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回""
arrayObj.splice(index,howmany,item1,.....,itemX);

//for example

//push方法

var arr =[1,2];

var sum =arr.push(3,"计算器");

console.log(sum); //4

console.log(arr); //[1,2,3,"计算器"]

//unshift方法

var arr = [1,2];

var sum = arr.unshift(3,"计算器");

console.log(sum); //4

console.log(arr); //[ 3, '计算器', 1, 2 ]

//splice方法

var arr = [1,2,3];

arr.splice(1,0,'William');

console.log(arr); //[ 1, 'William', 2, 3 ]

arr.splice(1,1); //从数组的第一个元素,删除一个

console.log(arr); // [ 1, 2, 3 ]           

4.数组元素的删除

//用于删除并返回数组的最后一个元素.pop() 方法将删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。
//如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。
arrayObject.pop() 
//方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
arrayObject.shift() 

//for example

//pop方法

var arr = [1,2,3,4];

var delsum = arr.pop();

console.log(arr); //[1,2,3]

console.log(delsum);//4

//shift方法

var arr = [1,2,3,4];

var sum = arr.shift();

console.log(arr); //[2,3,4]

console.log(sum);//1           

5.数组元素的合并

//方法用于连接两个或多个数组,该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
arrayObject.concat(arrayX,arrayX,......,arrayX)

//for example

var arr = [1,2];

var arr1 = [3,4];

var total = arr.concat(arr1);

console.log(total); //[ 1, 2, 3, 4 ]

var total1 = arr.concat(arr1,arr1);

console.log(total1);//[ 1, 2, 3, 4, 3, 4 ]           

接下来会分享一下es6的数组常用操作,敬请期待。