删除数组指定的元素的两个方法splice和filter
方法--splice
该方法每次删除的符合条件的个数,取决于后面的参数,下述示例中参数为1,也就是删除数组中value为b的元素,删除数量为1.
let value = 'b',
arr = ['a','b','c','d']
arr.splice(arr.indexOf(value), 1) // ['b']
// arr => ['a','c','d']
方法---filter
该方法一次性删除所有满足条件的数组元素
var arr = ['a','b','c','d'],
value = 'b'
arr = arr.filter(item => item != value)
// arr => ['a','c','d']
笔者在小程序中测试,代码如下
小程序wxml端:
<button type="primary" bind:tap="splice">数组删除练习</button>
小程序js端代码:
// pages/array_del/array_del.js
Page({
data: {
array:['a','b','a','b','d','c','e','d']
},
//数组删除指定元素
splice(){
console.log(this.data.array.indexOf('d'))
if(this.data.array.indexOf('d')==-1){//判断数组中是否还有满足条件的元素
return;
}
this.data.array.splice(this.data.array.indexOf('d'),1)
console.log(this.data.array)
}
})