JS 将数组的值添加到对象
2018-09-20
90
我有一个对象数组和结果对象。如何将所有数组元素添加到结果对象中
let result = {
list: 'example',
foo: 'something'
}
let array = [
{
item: 'a',
value: 'a',
},
{
item: 'b',
value: 'b',
},
{
item: 'c',
value: 'c',
},
]
let result = {
list: 'example',
foo: 'something',
array
}
console.log(result);
我需要的结果是:
{
list: 'example',
foo: 'something',
item[0]: 'a',
value[0]: 'a',
item[1]: 'b',
value[1]: 'b',
item[2]: 'c',
value[2]: 'c'
}
我应该如何添加数组?我正在尝试使用类似 JSON.stringify 的方法,但无法获得所需的格式。
3个回答
您可以迭代数组的对象并将值分配给组合键。
var result = { list: 'example', foo: 'something' },
array = [ { item: 'a', value: 'a' }, { item: 'b', value: 'b' }, { item: 'c', value: 'c' }];
array.forEach((o, i) =>
Object.entries(o).forEach(([k, v]) => result[`${k}[${i}]`] = v));
console.log(result);
Nina Scholz
2018-09-20
您可以遍历数组并使用
Array.forEach
填充所需的属性:
let result = {
list: 'example',
foo: 'something'
}
let array = [{
item: 'a',
value: 'a',
},
{
item: 'b',
value: 'b',
},
{
item: 'c',
value: 'c',
}
]
array.forEach((obj, index) => {
result[`item[${index}]`] = obj.item;
result[`value[${index}]`] = obj.value;
});
console.log(result);
mehmetseckin
2018-09-20
您是这个意思吗?
array.map(element => Object.assign(result, {[element.item]: element.value}))
AdMer
2018-09-20