如何使用数组中对象的键将多个属性添加到 ES6 中的子对象?
我有这个:
const data = [{
id: 'abc-test',
},
{
id: 'xyz-test',
},
];
const t = {
a: {
filters: {
tOne: [],
}
}
};
结果应该是这样的:
const t = {
a: {
filters: {
tOne: [],
'abc-test': [],
'xyz-test': [],
}
}
};
我尝试过的
...data.map((el) => [el.id]),
如何解决?我知道这可以通过使用 .forEach 来完成,但如果可能的话我想使用另一个 ES6 Array.prototype 函数。
最佳答案
forEach
是一个 Array
函数(或者你喜欢调用它:一个 Array.prototype
函数)。在所有其他 Array 函数中,forEach
最适合您的需要。其他的还有其他的用法。
因此,只需使用 forEach
遍历数组中的对象并将属性直接分配给 t.a.filters
:
data.forEach(o => t.a.filters[o.id] = []);
示例:
const data = [ { id: 'abc-test' }, { id: 'xyz-test' } ];
const t = { a: { filters: { tOne: [] } } };
data.forEach(o => t.a.filters[o.id] = []);
console.log(t);
关于javascript - 使用数组向对象添加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58906439/