我有一个对象数组,如何在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
}]
下面是一个使用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 控件,该采用那个控件,采用什么方法显示!
我有以下数组 我想从这个数组中得到唯一的值。所以我希望我的结果是这样的 我使用了数组唯一函数,但无法得到结果 如果我有两个索引,这是有效的,但是对于多个索引呢?