【发布时间】:2019-07-18 04:43:04
【问题描述】:
我有三个对象数组:
const names = [
{ value: "Time" },
{ value: "Angle" },
{ value: "Speed" },
{ value: "Mass" }
];
const params = [
{ name: "Time", value: "s" },
{ name: "Time", value: "h" },
{ name: "Time", value: "m" },
{ name: "Angle", value: "rad" },
{ name: "Angle", value: "grade" }
];
const selected = [
{ id: 1, name: "Time", param: "s" },
{ id: 2, name: "Time", param: "h" },
{ id: 3, name: "Time", param: "m" },
{ id: 4, name: "Angle", param: "grade" },
{ id: 5, name: "Speed", param: null }
];
我需要没有以下项目的新名称数组:
- 已选择所有可能的参数
- 如果给定名称没有参数,则它只能选择一次
在这种情况下,我的预期输出应该是
const expected = [
{ value: "Angle" },
{ value: "Mass" }
]
【问题讨论】:
-
为什么不在所有这些中使用
selected: true|false标志,然后只使用Array.prototype.filter(...)来过滤它们?
标签: javascript arrays object ecmascript-6 filter