删除数组指定的元素的两个方法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)
}
})
04-04 04:59