gpt4 book ai didi

javascript - 从 forEach 创建对象

转载 作者:数据小太阳 更新时间:2023-10-29 04:05:53 27 4
gpt4 key购买 nike

我想弄清楚是否有一种方法可以将此代码重写为单个对象创建:

my_array = [
{key: 1, value: "foo"},
{key: 2, value: "bar"}
];

let my_obj = {};
my_array.forEach((elem) => {
my_obj[elem.key] = elem.value;
});

我想做的是:

my_array = [
{key: 1, value: "foo"},
{key: 2, value: "bar"},
];

const my_obj = ...?

有没有一种方法可以进行与 forEach 调用等效的一次性转换?

最佳答案

您可以使用 Array.prototype.reduce() 实现此目的:

var my_array = [{key: 1, value:"foo"}, {key: 2, value:"bar"}];

var my_object = my_array.reduce(function(prev, curr) {
prev[curr.key] = curr.value;
return prev;
}, {});

console.log(my_object); // {"1": "foo", "2": "bar"}


或者,使用 ES6 语法:

const my_object = my_array.reduce((prev, curr) => {
prev[curr.key] = curr.value;
return prev;
}, {});

关于javascript - 从 forEach 创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38753259/

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