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);
添加回答
舉報