JS中数组slice、splice⽤法总结1.splice
splice() ⽅法向/从数组中添加/删除项⽬,然后返回被删除的项⽬。该⽅法会改变原始数组。
语法:arrayObject.splice(index,howmany,item1,.....,itemX)
参数说明:
1. index:操作数组的位置
2. howmany:删除元素的数量,0为不删除
3. item1,.....,itemX:插⼊的元素,可以不填
例如:
var arr=[1,2,3];
arr.splice(1,2);//删除第⼀个位置两个元素,arr=[1]
var arr=[1,2,3];
arr.splice(1,2,99);//删除第⼀个位置两个元素,并添加99,arr=[1,99]
var arr=[1,2,3];
arr.splice(1,0,99);//在第⼀个位置添加99 ,arr=[1,99,2,3]
利⽤splice⽅法给数组去重:
Array.prototype.distinct=function(){
for(var i=0;i<this.length;i++) {
if(this.indexOf(this[i])!=i){
this.splice(i,1);
i--;
indexof的用法javascript}
}
return this;
}
var arr=[1,1,2,3,4,5,6,2,3,4,5,6,7,1,2,3,4,5,6];
arr.distinct();//arr=[1, 2, 3, 4, 5, 6, 7]
2.slice
slice() ⽅法可从已有的数组中返回选定的元素。
语法:arrayObject.slice(start,end)
参数说明:
1. start:开始取的位置,如果是负数则会从末尾开始算
2. end:结束的位置,不填则会从开始位置取到末尾
例如:
var arr=[1,2,3,4,5,6,7];
console.log(arr.slice(2,5));//[3,4,5],注意arr不变
var arr=[1,2,3,4,5,6,7];
console.log(arr.slice(-2,-1));//[6]
var arr=[1,2,3,4,5,6,7];
console.log(arr.slice(3));//[4, 5, 6, 7]
像jQuery中,利⽤slice⽅法给字符串转换为数组:
function toArray(str){
return Array.prototype.slice(str);
}
slice还有个⽤法就是复制数组对象,如
var arr=[1,2,3];
var copies = arr.slice(0);
arr.length=0;//arr数组删除所有元素
console.log(copies);
console.log(arr);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。