今天我们写一下微信小程序、js的数组删除操作,删除数组中的某个元素
js中的splice方法
splice(index,len,[item]) 注释:该方法会改变原始数组。
splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值
index:数组开始下标 len: 替换/删除的长度 item:替换的值,删除操作的话 item为空
如:arr = [‘a’,’b’,’c’,’d’]
删除 —- splice(index,len)
arr = ['a','b','c','d']
arr.splice(1,1)
console.log(arr)
//['a','c','d'] 删除起始下标为1,长度为1的一个值,len设置的1,如果为0,则数组不变
arr.splice(1,2)
console.log(arr) //['a','d'] 删除起始下标为1,长度为2的一个值,len设置的2
删除第一个
arr.splice(0,1)
删除最后一个
arr.splice(arr.length-1,1)
替换 —- splice(index,len,[新值])
arr = ['a','b','c','d']
arr.splice(1,1,'ttt')
console.log(arr)
//['a','ttt','c','d'] 替换起始下标为1,长度为1的一个值为‘ttt',len设置的1
arr.splice(1,2,'ttt')
console.log(arr)
//['a','ttt','d'] 替换起始下标为1,长度为2的两个值为‘ttt',len设置的1
添加 —- splice(index,0,[新值]) 第二个值 是固定为0
arr = ['a','b','c','d']
arr.splice(1,0,'ttt')
console.log(arr)
//['a','ttt','b','c','d'] 表示在下标为1处添加一项‘ttt'
我们封装成一个方法
Array.prototype.del=function(n) { //n表示第几项,从0开始算起。
//prototype为对象原型,注意这里为对象增加自定义方法的方法。
if(n<0) //如果n<0,则不进行任何操作。
return this;
else
return this.slice(0,n).concat(this.slice(n+1,this.length));
/*
concat方法:返回一个新数组,这个新数组是由两个或更多数组组合而成的。
这里就是返回this.slice(0,n)/this.slice(n+1,this.length)
组成的新数组,这中间,刚好少了第n项。
slice方法: 返回一个数组的一段,两个参数,分别指定开始和结束的位置。
*/
}
//我们来试一试这个自己增加的方法
var test=new Array(0,1,2,3,4,5);
test=test.del(3); //从0算起,这里也就是删除第4项。
alert(test);
其他数组相关操作