【问题标题】:JS: Converting dictionary to a list of dictionariesJS:将字典转换为字典列表
【发布时间】:2020-07-12 21:48:44
【问题描述】:

我有一本字典,我想把它映射成字典列表。我将如何在 js 中做到这一点?

var dict = {
"key1" : 100,
"key2" : 200,
"key3" : 300
}
var data = [
{"key1" : 100},
{"key2" : 200},
{"key3" : 300}
]

【问题讨论】:

  • 你为什么要这样做?使用生成的数据结构更难。你想做什么?

标签: javascript json reactjs dictionary


【解决方案1】:

您可以使用Object.entries() 将对象转换为键值对数组。然后你可以.map()这个数组到一个对象数组。

var dict = {
  "key1" : 100,
  "key2" : 200,
  "key3" : 300
}

var data = Object.entries(dict).map(([key, value]) => ({[key]: value}))

console.log(data)

【讨论】:

    【解决方案2】:

    您可以简单地声明一个变量来存储列表并通过dict循环。在每次迭代中,根据键值制作一个字典并推入列表。

    var dict = {
      "key1": 100,
      "key2": 200,
      "key3": 300
    }
    var data = [];
    for (key in dict) {
      var subDict = {}
      subDict[key] = dict[key]
      data.push(subDict)
    }
    console.log(data)

    【讨论】:

      【解决方案3】:

      您可以使用Object.entriesmap 来制作key value 对象

      var dict = {
        "key1" : 100,
        "key2" : 200,
        "key3" : 300
        }
      
        const re=Object.entries(dict).map(o=>({[o[0]]:o[1]}))
        console.log(re)

      【讨论】:

        【解决方案4】:

        你可以使用Object.keys()Array.map()得到结果:

        var dict = {
        "key1" : 100,
        "key2" : 200,
        "key3" : 300
        }
        
        let result = Object.keys(dict).map(k => ({[k]: dict[k]}));
        console.log(result);

        【讨论】:

          猜你喜欢
          • 2018-08-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-04-23
          • 2021-10-13
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多