【问题标题】:How to convert array to key-values [duplicate]如何将数组转换为键值[重复]
【发布时间】:2021-07-09 15:03:22
【问题描述】:

我有以下数组:

{
  "red": "Red",
  "blue": "Blue"
}

我想把它转换成这样的键值对:

[
{"id":"red", "value":"Red"},
{"id":"blue","value":"Blue"}
]

【问题讨论】:

  • 请根据您的尝试更新您的答案。见 => stackoverflow.com/help/how-to-ask
  • 这不是你开始使用的数组;这是一个你最终得到的数组
  • 注意:以下所有三个答案都有效。

标签: javascript arrays key key-value key-pair


【解决方案1】:

您可以使用Object.entriesmap 实现此目的

const obj = {
  red: "Red",
  blue: "Blue",
};

const result = Object.entries(obj).map((o) => {
  const [prop, val] = o;
  return {
    id: prop,
    value: val
  };
});

console.log(result);

【讨论】:

  • 很高兴我能帮上忙...
【解决方案2】:

获取对象的entries,然后将map 转换为所需的输出格式。

const obj = {
  "red": "Red",
  "blue": "Blue"
}

const result = Object.entries(obj)
  .map(([id, value]) => ({ id, value }));

console.log(result);

【讨论】:

  • 欢迎您!我意识到您是 SO 的新手,所以有一点建议:请考虑为您提供支持的答案:D
  • 好点!谢谢
【解决方案3】:

您可以将键值对转换为条目并将其键 (id) 和 value 映射到对象。

const colors = {
  "red": "Red",
  "blue": "Blue"
};

const values = Object.entries(colors).map(([id, value]) => ({ id, value }));

console.log(values);
.as-console-wrapper { top: 0; max-height: 100% !important; }

【讨论】:

    猜你喜欢
    • 2020-11-26
    • 2017-09-23
    • 1970-01-01
    • 2021-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-14
    相关资源
    最近更新 更多