gpt4 book ai didi

javascript - 热门使用reduce将对象数组转换为单个对象

转载 作者:搜寻专家 更新时间:2023-11-01 05:09:25 24 4
gpt4 key购买 nike

我正在尝试使用 reduce 或 map,但有时我是菜鸟。

我正在尝试使用此函数从对象返回单个数组。

var obj = [{ a: 1 }, { b: 2 }, { c: 3 }];
var result = obj.reduce((obj, item) => [item.key] = item.value);
console.log(result);

但我总是得到:

Uncaught TypeError: Cannot read property 'Symbol(Symbol.iterator)' of undefined

我搜索了很多,但示例对我没有帮助...我认为这很简单,但 1 小时后,我一无所获。

我想要什么..

[{a: 1}, {b: 2}, {c: 3}] to {a: 1, b: 2, c: 3}

最佳答案

你可以使用 Object.assignspread syntax ... .

var obj = [{ a: 1 }, { b: 2 }, { c: 3 }];

console.log(Object.assign({}, ...obj));

Array#reduce

var obj = [{ a: 1 }, { b: 2 }, { c: 3 }];

console.log(obj.reduce((r, o) => Object.assign(r, o), {}));

没有Object.assign

var obj = [{ a: 1 }, { b: 2 }, { c: 3 }];

console.log(obj.reduce((r, o) => (Object.entries(o).forEach(([k, v]) => r[k] = v), r), {}));

ES5

var obj = [{ a: 1 }, { b: 2 }, { c: 3 }];

console.log(obj.reduce(function (r, o) {
Object.keys(o).forEach(function (k) {
r[k] = o[k];
});
return r;
}, {}));

关于javascript - 热门使用reduce将对象数组转换为单个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46133907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com