有人可以帮助如何转换这个数组[重复]
Posted
技术标签:
【中文标题】有人可以帮助如何转换这个数组[重复]【英文标题】:Can someone help how to convert this array [duplicate] 【发布时间】:2021-03-03 11:47:35 【问题描述】:从这个数组转换的最佳方法是什么
[key: "key1", value: "1",key: "key2", value: "2"]
到
"key1":"1","key2":"2"
【问题讨论】:
使用地图功能。 Map 不起作用,因为它返回一个对象数组,每个输入 1 个。 【参考方案1】:您可以通过一个简单的 for 循环通过迭代您的数组并将您的键/值存储在一个对象中来做到这一点:
const input = [key: "key1", value: "1",key: "key2", value: "2"];
const out = ;
for (const item of input)
out[item.key] = item.value;
console.log(out);
【讨论】:
【参考方案2】:使用Array.prototype.reduce
,您可以轻松转换如下。
const input = [key: "key1", value: "1",key: "key2", value: "2"];
const output = input.reduce((acc, cur) =>
acc[cur.key] = cur.value;
return acc;
, );
console.log(output);
【讨论】:
我认为地图会更合适,更高效。 map 会返回一个数组,reduce 会更有效。以上是关于有人可以帮助如何转换这个数组[重复]的主要内容,如果未能解决你的问题,请参考以下文章