javascript - 基于动态传递的属性从对象数组中获取唯一值
问题描述
我有这种情况,我需要根据动态传递的属性获取所有对象的唯一值。我尝试了以下方法,但似乎不起作用。
var arr = [
{
id: "1",
type: "x",
source: {
val1: "3",
val2: "4",
val3: "6",
},
},
{
id: "1",
type: "x",
source: {
val1: "3",
val2: "4",
val3: "6",
},
},
{
id: "1",
type: "x",
source: {
val1: "4",
val2: "5",
val3: "6",
}
}
];
现在说我通过 val1 它应该给我唯一值 3,4,如果我通过 val2 它应该给我 4,5。PS:我只会传递源属性中存在的参数。
我尝试过的方法:
calculate = (param) =>
{
let uniqueValues = Array.from(
new Set(arr.map((arr: any) => arr[param]))
);
}
解决方案
看起来,您也需要该source
属性。
new Set(arr.map((o: any) => o.source[param]))
推荐阅读
- cybersource - CyberSource TMS API 能否与 Flex API 令牌一起使用?
- spring-integration - 弹簧集成的速率限制器
- php - 睡眠在php IF语句中不起作用
- dictionary - Ansible:确定主机上安装的软件的确切版本
- php - 在引用 SQL 的表中有变量按钮
- node.js - NodeJs Child_Process.exec 找不到命令
- android - 将函数类型作为值放在 HashMap 中是个好主意吗?
- php - 如何将文件存储到 Laravel 5.5 文件结构之外的另一个位置
- facebook-graph-api - 使用两因素身份验证的 Facebook API 错误 200
- javascript - 如何创建 NxN 数组 JavaScript?