亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Javascript 和 3 參數過濾器

Javascript 和 3 參數過濾器

慕少森 2022-11-27 17:25:35
我試圖理解filterJavascript 中的 3 參數函數。這段代碼在做什么?(我目前正在重構系統中的現有代碼。)docs = _.cloneDeep(docs.filter((v, i, a) => a.findIndex(t => (t.documentNumber === v.documentNumber)) === i));
查看完整描述

2 回答

?
阿晨1998

TA貢獻2037條經驗 獲得超6個贊

回調filter給定三個參數,當前元素、索引和原始數組。

您提供的代碼創建了一個具有獨特屬性的數組documentNumber,對于每個元素,它查找第一個與它具有相同 documentNumber 的元素的索引;如果找到的元素的索引與當前索引相同,則該元素是該屬性在數組中的第一次出現,只有到那時回調才會返回 true 并保留該元素。它將刪除重復項。

也可以看看:Array#findIndex


查看完整回答
反對 回復 2022-11-27
?
鳳凰求蠱

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);


查看完整回答
反對 回復 2022-11-27
  • 2 回答
  • 0 關注
  • 104 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號