一只名叫tom的貓
2023-02-17 17:51:00
我想弄清楚如何將多維數組中的數組值行推送到另一個具有不重復的唯一值行的數組中。例如,如果我有一個數組:[['A','B','C','D'],['E','F','F','G'],['1','2','3','4']]我想將行推入另一個數組,以便它只包含具有不重復值的行,所以我將擁有:[['A','B','C','D'],['1','2','3','4']]這是一個簡單的例子。我的陣列要大得多。我正在嘗試對具有數千行的數組使用 javascript 來執行此操作。
1 回答

紅顏莎娜
TA貢獻1842條經驗 獲得超13個贊
您可以使用.filter()
一個Set
. Set 將刪除任何重復項,因此,如果 Set 的大小等于行的大小,則沒有元素被刪除,這意味著您可以通過從回調中返回 true 來將數組保留在結果數組中.filter()
。
請參見下面的示例:
const arr = [['A','B','C','D'],['E','F','F','G'],['1','2','3','4']];
const res = arr.filter(row => new Set(row).size === row.length);
console.log(res);
如果您必須使用,這可以使用for...of.push()循環來完成,并且僅在所有值都唯一時才將行推入新數組:
const arr = [['A','B','C','D'],['E','F','F','G'],['1','2','3','4']];
const newArr = [];
for(const row of arr) {
if(new Set(row).size === row.length)
newArr.push(row);
}
console.log(newArr);
添加回答
舉報
0/150
提交
取消