连接.map和.filter来过滤和删除object数组中的重复项的方法如下:
首先,使用.map函数遍历数组,返回一个新的数组。在.map函数中,我们可以获取每个对象的某个属性值作为新数组的元素。
然后,使用.filter函数来筛选新数组中的重复项。在.filter函数中,我们可以检查新数组中的每个元素,如果当前元素在之前的元素中未出现过,则保留该元素。
以下是示例代码:
const arr = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'John' },
{ id: 4, name: 'Alice' },
{ id: 5, name: 'Jane' }
];
const uniqueArr = arr
.map(obj => obj.name) // 获取每个对象的name属性值
.filter((name, index, names) => names.indexOf(name) === index); // 筛选重复项
console.log(uniqueArr);
该代码通过.map函数获取了每个对象的name属性值,并返回一个新的数组。然后,使用.filter函数来筛选新数组中的重复项。通过比较当前元素在新数组中的索引和它在原数组中的索引是否相同,来判断是否重复。如果索引相同,则保留该元素,否则过滤掉。
输出结果为:
['John', 'Jane', 'Alice']
这样就实现了过滤和删除object数组中的重复项的目标。
相关产品推荐:
注意:以上产品只是示例,未提及的品牌商也可能有类似的产品可供选择。
领取专属 10元无门槛券
手把手带您无忧上云