gpt4 book ai didi

javascript - 如何在 JavaScript 中将对象数组转换为一个对象?

转载 作者:IT王子 更新时间:2023-10-29 02:58:00 26 4
gpt4 key购买 nike

我有一个对象数组:

[ 
{ key : '11', value : '1100', $$hashKey : '00X' },
{ key : '22', value : '2200', $$hashKey : '018' }
];

如何通过 JavaScript 将其转换为以下内容?

{
"11": "1100",
"22": "2200"
}

最佳答案

微型 ES6 解决方案看起来像:

var arr = [{key:"11", value:"1100"},{key:"22", value:"2200"}];
var object = arr.reduce(
(obj, item) => Object.assign(obj, { [item.key]: item.value }), {});

console.log(object)

另外,如果你使用对象传播,它看起来像:

var object = arr.reduce((obj, item) => ({...obj, [item.key]: item.value}) ,{});

另一种速度提高 99% 的解决方案是(在 jsperf 上测试):

var object = arr.reduce((obj, item) => (obj[item.key] = item.value, obj) ,{});

这里我们受益于逗号运算符,它计算逗号之前的所有表达式并返回最后一个(在最后一个逗号之后)。因此,我们不会每次都复制 obj,而是为其分配新的属性。

关于javascript - 如何在 JavaScript 中将对象数组转换为一个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19874555/

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