搜索
写经验 领红包
 > 房产

es6数组删除(es6中数组去重的方法)

导语:es6如何快速地删除数组元素

es6 数组删除(es6中数组去重的方法)

let arr = [ { id: 1, value: 2 }, { id: 2, value: 3 }, { id: 3, value: 3 }, { id: 4, value: 3 }]
如何快速删除数组中id=4的元素方法

1:第一种方法filter()

const newArr = arr.filter((obj) => obj.id !== 4);console.log(newArr);  // [ { id: 1, value: 2 }, { id: 2, value: 3 }, { id: 3, value: 3 }]

2: 第二种方法findIndex()

const newArr2 = arr.splice( arr.findIndex((v) => v.id === 4), 1 );console.log(newArr2); // [ { id: 4, value: 3}]console.log(arr); // [ { id: 1, value: 2 }, { id: 2, value: 3 }, { id: 3, value: 3 }]

我更推荐第一种写法,第二种写法有一个小问题,如果删除一个不存在的值的时候,findIndex会返回-1,此时splice会删除最后一个值,导致错误,需要前面加一个判断才行。

// 优化后代码const index = arr.findIndex((v) => v.id === 4); const newArr2 = index > -1 && arr.splice(index, 1);

本文内容由小茜整理编辑!