1.push和pop
我们可以把数组看做成一个栈
push表示压栈,给源数组的尾部追加元素,参数可以是一个或多个,返回值为数组的新长度;
pop表示弹栈,从源数组的尾部剔除一个元素,返回值是剔除的元素;例子如下:
var array1 = [1,2,3,4,5];
var obj1 = array1.push(6,7);
console.info(array1);//1,2,3,4,5,6,7
console.info(obj1);//7
var array2 = [5,4,3,2,1];
var obj2 = array2.pop();
console,info(array2);//5,4,3,2
console,info(obj2);//1
2.shift和unshift
shift表示从数组的头部剔除一个元素,返回值为剔除的元素;
unshift表示数组的头部插入一个或者多个元素,返回值为数组的新长度;例子如下:
var array1 = [1,2,3,4,5];
var obj1 = array1.shift();
console.info(array1);//2,3,4,5
console.info(obj1);//4
var array2 = [5,4,3,2,1];
var obj2 = array2.unshift(6,7);
console,info(array2);//6,7,5,4,3,2
console,info(obj2);//7
3.splice和slicesplice可以有多个参数,第一个参数为开始位置,第二个元素为截取的元素个数,其余参数为在截取的元素的位置插入这些元素
slice 有两个参数,第一个参数表示起始位置,第二个参数表示截取的位置,(左闭右开),slice不操作数组本身,
而是重新返回一个新的数组,数组元素为截取的元素,例子如下:
var array1 = [1,2,3,4,5];
var obj1 = array1.splice(1,2,3,4);
console.info(array1);//1,3,4,4,5
console.info(obj1);//4
var array2 = [5,4,3,2,1];
var obj2 = array2.slice(2,4);
console,info(array2);//5,4,3,2,1
console,info(obj2);//3,2
4.concat和join
concat表示合并两个数组,但是它并不操作数组本身,而是返回一个组合的新数组;
join表示在每个数组元素之间加一个所传的参数,并不操作数组本身,而是返回一个新的拼接的数组元素字符串;例子如下:
var array1 = [1,2,3,4];
var array2 = [4,5];
var obj = array1.concat(array2);
console.info(array1);//1,2,3,4
console.info(array2);//4,5
console.info(obj);//12,3,4,4,5
var obj2 = array1.join(':');
console.info(array1);//1,2,3,4
console.info(obj2);//1:2:3:4
5. sort和reverse
sort表示排序数组(注意:排序的时候把元素当作字符串去排序,例如:5和10排序的时候,10在7的前面)
reverse表示反转数组,例子如下:
var array1 = [5,4,2,3,1,10];
var array2 = [1,2,3,5,4];
array1.sort();
array2.reverse();
console.info(array2);//4,5,3,2,1
注意:sort可以传入一个排序规则函数,如:
function compare(v1,v2){
if(v1 < v2){
return -1;
}else if(v1 > v2){
return 1;
}
}
var array3 = [5,4,2,3,1,10];
array3.sort(compare);
console.info(array3);//1,2,3,4,5,10