当前位置: 首页 > 知识库问答 >
问题:

如何在TypeScript/JavaScript[重复]中筛选数组中的唯一id

梁丘经艺
2023-03-14

我有一个对象数组,如何在TypeScript/JavaScript中筛选唯一id数组

列表数组-

[{
    global_id: "269a8bded9bd4ecaa0e501c170a71f5a"
    icon: "/odb/icons/ip/ip_32.svg"
    id: "269a8bded9bd4ecaa0e501c170a71f5a"
}, {
    global_id: "269a8bded9bd4ecaa0e501c170a71f5a"
    icon: "/odb/icons/ip/ip_32.svg"
    id: "269a8bded9bd4ecaa0e501c170a71f5a"
}, {
    global_id: 348
    icon: "/odb/icons/ip/ip_32.svg"
    id: 348
}, {
    global_id: 201
    icon: "/odb/icons/ip/ip_32.svg"
    id: 201
}]

共有1个答案

岳茂
2023-03-14

下面是一个使用array.filter的解决方案

function uniqueArrayOfObject(array, keyToBeUnique) {
  // Filter by looking at the next objects if the key is present a second time
  return array.filter((x, xi) => !array.slice(xi + 1)
    .some(y => y[keyToBeUnique] === x[keyToBeUnique]));
}

function getRndInteger(min, max) {
  return Math.floor(Math.random() * (max - min)) + min;
}

const keys = [
  'a', 'b', 'c', 'd', 'e', 'f', 'g',
];

const generatedArray = [];

for (let i = 0; i < 100000; i += 1) {
  generatedArray.push({
    uniqueKey: keys[getRndInteger(0, keys.length - 1)],
    val: i,
  });
}

const start = Date.now();

const unique = uniqueArrayOfObject(generatedArray, 'uniqueKey');

console.log(unique);

console.log(`It took ${Date.now() - start}ms to unique`);
 类似资料:
  • 编辑2019:此问题是在2016年11月,当前方法和以前方法的接受答案如下。 我有一个<code>数据。表约有250万行的表。有两列。我想删除两列中重复的任何行。之前的数据。帧我会这样做:<code>df- 有什么建议吗? 干杯,戴维 例 在上面的data.table中,其中< code>V2是表键,只有第4、7和10行将被删除。

  • 我从电子表格中引入的字符串数组经常出现问题。我想过滤这些字符串数组中的唯一值,然后在表单的下拉列表中填充选项。 我尝试了多种解决方案,但由于某种原因,它们都不起作用。 我在网上尝试了很多解决方案。它们处理其他数据。我的数据是一个短字符串列表。 编辑:过滤唯一值的字符串是否存在众所周知的问题? 编辑2:我提供的数据: 我想要的数据:

  • 本文向大家介绍在 JavaScript 中包含唯一字符的筛选字符串,包括了在 JavaScript 中包含唯一字符的筛选字符串的使用技巧和注意事项,需要的朋友参考一下 问题 我们需要编写一个 JavaScript 函数来接受一个字符串 str。我们的函数应该构造一个只包含输入字符串中唯一字符的新字符串,并删除出现的所有重复字符。 示例 以下是代码- 输出结果 以下是控制台输出-

  • 我在一个java类中定义某些变量,然后用另一个类访问它,以便在流中筛选唯一的元素。请参阅代码以更好地理解该问题。 我面临的问题是这个过滤函数不能很好地工作,无法过滤唯一的事件。我怀疑这个变量在不同的线程之间是共享的,它是原因!?如果这不是正确的方法,请建议另一种方法。提前道谢。

  • 如题:我有一个字典 sys_hospital_type,该字典包含两个属性,[value,title],现在我的表格某行获取到一个值prop=1,我现在想字典中value=1的的title显示出来,如果不用el-select 控件,该采用那个控件,采用什么方法显示!

  • 我有以下数组 我想从这个数组中得到唯一的值。所以我希望我的结果是这样的 我使用了数组唯一函数,但无法得到结果 如果我有两个索引,这是有效的,但是对于多个索引呢?