JavaScript -如何创建数组对象并删除重复的ID [duplicate]

ybzsozfc  于 2023-10-14  发布在  Java
关注(0)|答案(2)|浏览(159)

此问题已在此处有答案

Get all unique values in a JavaScript array (remove duplicates)(93个回答)
2天前关闭。
我是JS新手,继续学习。我有一个下面的数组对象,其中有重复的id。我想创建一个新的数组,其中只包含唯一的id
const testobj = {“100”:[295,681,15220],“257”:[295,681,1123]}
因此,最终的输出是const ids = [295,681,15220,1123]
我知道这很简单,但任何帮助都将不胜感激。

mm5n2pyu

mm5n2pyu1#

你可以尝试使用Set
首先使用Object.values()提取所有ID数组,然后使用[].concat()将这些数组扁平化为单个数组。接下来Set用于删除重复的ID。最后,使用[...](使用spread syntax (...))将Set转换回数组。

  1. const testobj = {"100": [295, 681, 15220], "257": [295, 681, 1123]};
  2. const uniqueIds = [...new Set([].concat(...Object.values(testobj)))];
  3. console.log(uniqueIds);
jgovgodb

jgovgodb2#

  1. const testobj = {"100": [295, 681, 15220], "257": [295, 681, 1123]};
  2. let merged = [].concat(...Object.values(testobj));
  3. const ids = [...new Set(merged)];
  4. console.log(ids); // [295, 681, 15220, 1123]

您可以通过迭代testobj对象的值,合并它们,然后创建一个Set来过滤掉重复的值来实现这一点。最后,您可以将Set转换回数组。

  1. const testobj = {"100": [295, 681, 15220], "257": [295, 681, 1123]};
  2. let merged = [].concat(...Object.values(testobj));
  3. const ids = [...new Set(merged)];
  4. console.log(ids); // [295, 681, 15220, 1123]

相关问题