js数组的简单操作

来源:互联网 发布:js 乱码 编辑:程序博客网 时间:2024/06/10 21:24

js数组操作方法有:
push(),pop(),shift(),unshift(),slice(),splice(),sort(),concat(),delete(),join();

push()方法:用于向数组中尾部添加新元素,并返回更新后的数组长度(改变原始数组)。

var a=[1,2,3,4,5,6,7];a.push(0); console.log(a); //[1, 2, 3, 4, 5, 6,7,0]console.log(a.length);//8

pop()方法:用于删除并返回数组的最后一个元素,把数组长度减1,并且返回它删除的元素的值(改变原始数组)。如果数组已经为空,则pop()不改变数组,并返回undefined值 。

var a=[1,2,3,4,5,6,7,0];console.log(a.pop());//值为0 console.log(a);//[1, 2, 3, 4, 5, 6,7]

shift(),移除数组头部元素并返回(改变原始数组)。

var a=[1,2,3,4,5,6,7];console.log(a.shift()); // 1console.log(a); // [ 2, 3, 4, 5, 6,7]

unshift(),在头部插入元素(改变原始数组),如果不传参数则不会增加元素,返回操作结束后数组中元素的个数。

 var a=[1,2,3,4,5,6,7];console.log(a.unshift(-5)); // 8console.log(a); // [-5,1, 2, 3, 4, 5, 6, 7]a.unshift(-1, 0); //10console.log(a); //[-1, 0,-5, 1, 2, 3, 4, 5, 6, 7]

splice()方法:向/从数组中添加/删除项目,然后返回被删除的项目,该方法会改变原始数组
//删除数组中指定区间的元素,还可以添加新元素,相当于替换
// 返回的是删除的元素
//splice(start, [[end][, newElem1][, new Elem2]…])

var array = [1, 2, 3, 4];console.log(array.splice(0)); // [1, 2, 3, 4]console.log(array); // []array.unshift(1, 2, 3, 4, 5); // 5console.log(array); // [1, 2, 3, 4, 5]array.splice(0, 2); // [1, 2]  //删除数组inedx为0,1的值,并返回删除的元素console.log(array); // [3, 4, 5]array.splice(0, 1, 6); // [3]console.log(array); // [6, 4, 5]

slice()方法,切片操作(不改变原始数组).

var a=[-1,0,1,2,3,4];b = a.slice(); // 浅拷贝,a不变,b变为[-1,0,1,2,3,4]console.log(a);//[-1,0,1,2,3,4]b = a.slice(1); // 一个参数,从索引为1位置的元素开始切片,b变为[0,1,2,3,4]b = a.slice(1, 3); // 传入区间,进行切片。切取得到的元素数目为3-1=2,b变为[0,1]b = a.slice(-1); // 从后往前切片一个元素,b变为[4]b = a.slice(-2); // 从后往前切片二个元素,b变为[3, 4]

sort()方法:用于对数组的元素进行排序。返回对数组的引用。请注意,数组在原数组上进行排序,不生成副本。

var a=[-1,8,1,5,3,4];console.log(a.sort());//[-1, 1, 3, 4, 5, 8]console.log(a);//[-1, 1, 3, 4, 5, 8]

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

var a=[-1,0,1,2,3,4];var b=[0,5];console.log(a.concat(b));//[-1,0,1,2,3,4,0,5]console.log(a);//[-1, 0, 1, 2, 3, 4]console.log(b);//[0, 5]

// 使用splice可以实现数组元素的删除、插入和替换(即删除并插入)

// A. 删除元素,指定两个参数,第一个参数为要删除的元素的起始位置,第二个参数为要删除的元素的个数
var a = [1, 2, 3, 4, 5];
a.splice(0, 2); // 删除index为0开始的2个元素,即删除1、2,
console.log(a); // a现在为[3, 4, 5]

// B. 插入元素,第一个参数为要删除的元素的起始位置,第二个参数为0,第三个参数、第四个参数…为要插入的元素
var a = [1, 2, 3, 4, 5];
a.splice(2, 0, 6, 7); // 在index为2处插入元素6、7
console.log(a); // a现在为[1, 2, 6, 7, 3, 4, 5]

// C. 替换元素,第一个参数为要删除的元素的起始位置,第二个参数为要删除的元素的个数,第三个参数、第四个参数…为要替换的元素
var a = [1, 2, 3, 4, 5];
a.splice(2, 2, 6, 7); // 用6、7替换index为2开始的2个元素
console.log(a); // a现在为[1, 2, 6, 7, 5]

原创粉丝点击