[英]How to remove object from an array if key value already exists - typescript
[英]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.