2 回答

TA贡献2037条经验 获得超6个赞
回调filter
给定三个参数,当前元素、索引和原始数组。
您提供的代码创建了一个具有独特属性的数组documentNumber
,对于每个元素,它查找第一个与它具有相同 documentNumber 的元素的索引;如果找到的元素的索引与当前索引相同,则该元素是该属性在数组中的第一次出现,只有到那时回调才会返回 true 并保留该元素。它将删除重复项。
也可以看看:Array#findIndex

TA贡献1825条经验 获得超4个赞
它过滤到唯一的 documentNumber 的第一个实例
const docs = [
{ documentNumber: 1 },
{ documentNumber: 1 },
{ documentNumber: 2 },
{ documentNumber: 3 },
{ documentNumber: 4 },
{ documentNumber: 4 },
{ documentNumber: 4 },
{ documentNumber: 5 },
{ documentNumber: 6 },
{ documentNumber: 7 },
{ documentNumber: 7 },
{ documentNumber: 1 },
{ documentNumber: 8 }
];
let results = docs.filter((v, i, a) => a.findIndex(t => (t.documentNumber === v.documentNumber)) === i);
console.log(results);
添加回答
举报