将 javascript 对象数组扁平化为一个对象的最简单解决方案是什么?
What is the simplest solution to flat an javascript array of objects into an object?
有什么方法可以转换以下数组:
[
{x: 1},
{y: 2}
]
给这个对象:
{
x: 1,
y: 2
}
在 javascript 中使用解构?
我尝试了不同的模式,但没有成功。
一种选择是使用 Array#reduce,如下所示:
const array = [
{x: 1},
{y: 2}
]
const object = array.reduce((target, item) => {
// Use spread to merge current array item object
// into target object
return { ...target, ...item }
}, {})
console.log(object);
这里的想法是通过归约迭代输入的每个项目 array
,并且对于每次迭代,将当前数组 item
合并到 target
对象(这将是操作的结果 object
)。
注意 target
和 item
分布到归约结果中的顺序;如果在合并 item
和 target
期间有任何键冲突,将使用 item
中的值。
有什么方法可以转换以下数组:
[
{x: 1},
{y: 2}
]
给这个对象:
{
x: 1,
y: 2
}
在 javascript 中使用解构?
我尝试了不同的模式,但没有成功。
一种选择是使用 Array#reduce,如下所示:
const array = [
{x: 1},
{y: 2}
]
const object = array.reduce((target, item) => {
// Use spread to merge current array item object
// into target object
return { ...target, ...item }
}, {})
console.log(object);
这里的想法是通过归约迭代输入的每个项目 array
,并且对于每次迭代,将当前数组 item
合并到 target
对象(这将是操作的结果 object
)。
注意 target
和 item
分布到归约结果中的顺序;如果在合并 item
和 target
期间有任何键冲突,将使用 item
中的值。