有人可以帮助如何转换这个数组[重复]

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 会更有效。

以上是关于有人可以帮助如何转换这个数组[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何将表单变成2个数组[重复]

比较两个数组并查找第二个数组中缺少的项目[重复]

将对象数组转换为数组[重复]

在java中转换对数方程[重复]

我需要将 Array 转换为 ArrayList 帮助,不知道该怎么做? [复制]

有人可以帮助解决这种重复关系吗? [关闭]