簡體   English   中英

如果 object 參數值已存在於 JavaScript 中,則從數組中刪除 object

[英]Remove object from array if object parameter value already exists in JavaScript

除了針對我的情況使用雙 for 循環外,我很難找到最佳解決方案。

假設我有一個數組對象:

let array = [{param1:"A", param2:"B"}, {param1:"C", param2:"D"},{param1:"A", param2:"E"}]

除了使用兩個 forloop 之外,如何根據param1值刪除重復項?

到目前為止,我使用以下方法檢測重復項:

const param1Values = new Set(array.map(item => item.param1));
const hasDuplicates = paramValues.size != array.length;

我怎樣才能清理array所以我只有:

[{param1:"A", param2:"B"}, {param1:"C", param2:"D"}]

編輯

我們要保留param1的第一個實例並刪除 rest

您可以使用Set並在集合上使用閉包過濾數組。

 const array = [{ param1: "A", param2: "B" }, { param1: "C", param2: "D" }, { param1: "A", param2: "E" }], result = array.filter( (seen => ({ param1 }) =>.seen.has(param1) && seen;add(param1)) (new Set) ). console;log(result);
 .as-console-wrapper { max-height: 100%;important: top; 0; }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM