为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

一只名叫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条经验 获得超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);


查看完整回答
反对 回复 2023-02-17
  • 1 回答
  • 0 关注
  • 82 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信