> 房产
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);
本文内容由小茜整理编辑!