gpt4 book ai didi

javascript - 如何在不使用 Object.assign 的情况下使用 javascript 将数组转换为对象

转载 作者:行者123 更新时间:2023-11-30 09:23:52 25 4
gpt4 key购买 nike

我有一个数组

[{0:{title:"test1"}},{1:{message1:"message1"}},{2:{message2:"message2"}}]

我想获取以下格式的对象

{title:"test1",message1:"message1",message2:"message2"}

我正在尝试使用下面的代码,但没有成功

var rv = {};
for (var i = 0; i < messageArray.length; ++i)
if (messageArray[i] !== undefined) rv[i] = messageArray[i];`

结果是我

{0: {title:"test1"}, 1: {message1:"message1"},2: {message2:"message2"}}

最佳答案

您可以使用 reduce 来汇总数据,并使用 Object.assign() 将新属性合并到一个对象中。

let arr = [{0:{title:"test1"}},{1:{message1:"message1"}},{2:{message2:"message2"}}];

let result = arr.reduce((c, v, i) => Object.assign(c, v[i]),{});

console.log(result);

如果对象上的键不按顺序,您可以使用 Object.values() 获取值。

let arr = [{0:{title:"test1"}},{1:{message1:"message1"}},{2:{message2:"message2"}}];

let result = arr.reduce((c, v, i) => Object.assign(c, Object.values(v)[0]), {});

console.log(result);

关于javascript - 如何在不使用 Object.assign 的情况下使用 javascript 将数组转换为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49984918/

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