如何在不更改 Javascript 顺序的情况下将具有唯一值的数组的行推入另一个数组

我想弄清楚如何将多维数组中的数组值行推送到另一个具有不重复的唯一值行的数组中。

例如,如果我有一个数组:

[['A','B','C','D'],['E','F','F','G'],['1','2','3','4']]

我想将行推入另一个数组,以便它只包含具有不重复值的行,所以我将拥有:

[['A','B','C','D'],['1','2','3','4']]

这是一个简单的例子。我的阵列要大得多。我正在尝试对具有数千行的数组使用 javascript 来执行此操作。


一只名叫tom的猫
浏览 106回答 1
1回答

红颜莎娜

您可以使用.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);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript