我想弄清楚如何将多维数组中的数组值行推送到另一个具有不重复的唯一值行的数组中。例如,如果我有一个数组:[['A','B','C','D'],['E','F','F','G'],['1','2','3','4']]我想将行推入另一个数组,以便它只包含具有不重复值的行,所以我将拥有:[['A','B','C','D'],['1','2','3','4']]这是一个简单的例子。我的阵列要大得多。我正在尝试对具有数千行的数组使用 javascript 来执行此操作。
1 回答
红颜莎娜
TA贡献1842条经验 获得超12个赞
您可以使用.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
提交
取消