data
是一个对象列表。我们需要基于多个对象属性来筛选所有重复项,包括原始值。
我的代码可以根据多个对象属性来筛选出重复项,但是怎样调整代码才能同时筛选掉原始值呢?
我们的目标是得到这些重复项的列表。
const data = [{
name: 'x',
latitude: '45.9',
longitude: '50.2'
}, {
name: 'y',
latitude: '45.9',
longitude: '50.2'
}, {
name: 'z',
latitude: '40.5',
longitude: '85.7'
}];
const duplicates = data
.filter((obj, index, array) =>
array.findIndex(o =>
o.latitude === obj.latitude &&
o.longitude === obj.longitude
) != index
);
console.log(duplicates);
输出:
[{
name: 'y',
latitude: '45.9',
longitude: '50.2'
}]
期望的输出:
[{
name: 'x',
latitude: '45.9',
longitude: '50.2'
}, {
name: 'y',
latitude: '45.9',
longitude: '50.2'
}]