【发布时间】:2021-12-10 02:01:57
【问题描述】:
首先,我试图将一个包含许多对象的数组合并为一个数组,其中每个对象的每个键都包含在一个数组中。
最后,应该删除数组中的所有重复项以及任何名为“name”的元素。
输入:
const data = [
{
name: '10/20',
Tyler: 1,
Sonia: 0,
Pedro: 0,
},
{
name: '10/23',
Tyler: 0.5,
Sonia: 0.25,
Pedro: 0.75,
George: 0.5,
},
];
输出:
["Tyler", "Sonia", "Pedro", "George"]
这是我迄今为止尝试过的:
const mergedData = data.reduce((prev, cur) => {
const obj = cur[0];
const keys = Object.keys(obj);
const names = keys.splice(1);
return { names };
}, []);
我正在尝试捕获除“name”之外的任何键名并将其添加到最终数组中。但是,这是我卡住的地方,因为我收到了这个错误,TypeError: Cannot convert undefined or null to object
注意:对象可能有不同的长度,包含混合名称,但绝不会有任何重复。
【问题讨论】:
标签: javascript arrays algorithm