讲解“js中数组对象去重的两种方法”的完整攻略。
1.方法1:使用Set
JavaScript中的Set是一种可以存储不重复值的集合。因此,可以通过Set来去重。
示例代码
const arr = [{id:1,name:'test'},{id:2,name:'test'},{id:1,name:'test'}]
const newArr = Array.from(new Set(arr.map(JSON.stringify))).map(JSON.parse)
console.log(newArr)
代码说明
首先使用map方法将数组中的对象转化为字符串。因为Set里默认只定义字符串,无法对对象去重。
然后使用Set方法,对其进行去重处理。
最后将Set转化为数组,再使用map方法将每项转化为对象。
2.方法2:使用reduce方法
使用reduce方法来对原数组进行去重处理,具体过程如下。
示例代码
const arr = [{id:1,name:'test'},{id:2,name:'test'},{id:1,name:'test'}]
const newArr = arr.reduce((result,current)=>{
const len = result.length
const isExist = result.some(item => item.id === current.id)
if(!isExist){
len === result.length && result.push(current)
}
return result
},[])
console.log(newArr)
代码说明
使用reduce方法遍历原数组,传入的第二个参数是数组初始值,这里为空数组[]。
在每次遍历时,判断result数组中是否已经存在该项,如果不存在则加入到result数组中。
最后返回去重后的新数组。
以上是两种去重方法的详细介绍。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js中数组对象去重的两种方法 - Python技术站