添加一个或多个元素
方法 | 说明 |
---|---|
arrObj.push() | 添加元素到数组的末尾,返回值为数组的新长度 |
arrObj.unshift() | 添加元素到数组的首位,返回值为数组的新长度 |
下面用代码解释push()和unshift()的区别
var arrObj = [1,2,9,33];//定义一个数组
arrObj.push(11);//向数组尾部添加一个元素11
console.log(arrObj);//[1,2,9,33,11]
var arrObj = [1,2,9,33];//定义一个数组
arrObj.unshift(11);//向数组头部添加一个元素11
console.log(arrObj);//[11,1,2,9,33]
删除元素
方法 | 说明 |
---|---|
arrObj.pop() | 从数组的尾部开始删除,返回值为删除的那个元素 |
arrObj.shift() | 从数组的头部开始删除,返回值为删除的那个元素 |
下面用代码解释pop()和shift()的区别
var arrObj = [1,2,9,33];//定义一个数组
arrObj.pop();//从数组尾部删除一个元素
console.log(arrObj);//[1,2,9]
console.log(arrObj.pop());//返回值为33
var arrObj = [1,2,9,33];//定义一个数组
arrObj.shift();//从数组头部删除一个元素
console.log(arrObj);//[2,9,33]
console.log(arrObj.shift());//返回值为1
删除/添加元素
arrObj.splice(参数1,参数2,参数3);
参数1:必需,开始删除/添加的下标(索引),可以为负,(-1)代表倒数第一个元素;
参数2:必需,删除元素的个数;
参数3:可选,添加的元素,若添加多个元素,多个元素之间用逗号(,)分割;
返回值:删除的元素构成的数组。
排序
方法 | 说明 |
---|---|
arrObj.sort(参数) | 参数:可选,可为函数,如果省略,按照Unicode编码升序排序 |
var arr = [1,6,7,2,5,4];
var a = arr.sort(function(x,y){
return x - y;//升序排序
return y - x;//降序排序
});
console.log(a);//升序:[1,2,4,5,6,7] 降序:[7,6,5,4,2,1]
数组反转(颠倒数组)
方法 | 说明 |
---|---|
arrObj.reverse() | 颠倒数组,返回值为颠倒后的数组 |
var arr = [1,5,4,6,8,2];
console.log(arr.reverse());//[2,8,6,4,5,1]
数组分割成字符串
方法 | 说明 |
---|---|
arrObj.join(参数) | 参数:可选,分隔符,如果省略,默认由逗号隔开,返回字符串 |
var arr = ["hello","world"];
var str = arr.join();
var str1 = arr.join(" ");
console.log(str);//hello,world
console.log(str1);//hello world
数组连接
方法 | 说明 |
---|---|
arrObj.concat(参数1,参数2,…) | 参数:必需,可以是数组、元素,多个之间用逗号隔开,返回值为连接后的数组 |
var arr1 = [10,"hello"];
var arr2 = ["world",true];
var arr = arr1.concat(arr2);
console.log(arr);//[10,"hello","world",true]
分割/选取
方法 | 说明 |
---|---|
arrObj.slice(参数1,参数2) | 从参数1开始截取到参数2(不包含)位置的数组 |
参数1:必需,开始截取的位置,可以为负
参数2:可选,结束截取的位置,可以为负
返回值:截取到的数组
注:此方法字符串对象也可以使用
var arr = [1,2,3,4,5,6];
var a = arr.slice(1);//[2,3,4,5,6]
var a = arr.slice(-1);//[6]
var a = arr.slice(1,3);//[2,3]
var a = arr.slice(1,1);//[]
var a = arr.slice(2,1);//[]