【问题标题】:Convert Dictionary having array value for keys into a list in Javascript将具有键数组值的字典转换为Javascript中的列表
【发布时间】:2020-04-26 08:24:20
【问题描述】:

我的字典结构如下: data = { a : [5, 10], b : [1, 12] , c : [6, 7]}

我需要将其转换为以下内容: [ a, 5, 10 ], [ b, 1, 12 ], [ c, 6, 7 ]

我已经尝试过使用 Object.entries(data),但它返回的数据如下:[a, [5, 10]], [b, [1, 12]]

我如何使用 JavaScript 做到这一点?

【问题讨论】:

    标签: javascript arrays dictionary arraylist


    【解决方案1】:

    您可以将键/值映射到新数组中。

    var data = { a : [5, 10], b : [1, 12] , c : [6, 7]},
        result = Object.entries(data).map(([k, v]) => [k, ...v]);
    
    console.log(result);

    【讨论】:

      【解决方案2】:

      所以使用Object.keys()reduce() 你可以解决如下:

      const data = { a: [5, 10], b: [1, 12], c: [6, 7] };
      const result = Object.keys(data).map(e => {
        return data[e].reduce((a, c) => {
          a.push(c);
          return a;
        }, Array.from(e));
      });
      
      console.log(result);

      希望对你有帮助!

      【讨论】:

        【解决方案3】:

        另一种方式:

        const  data = { a : [5, 10], b : [1, 12] , c : [6, 7]};
        const result = Object.entries(data).map(pair => pair.flat());
        console.log(result);

        【讨论】:

          【解决方案4】:
          var dict = { 'a': 'aa', 'b': 'bb' };
          var arr = [];
          
          for (var key in dict) {
              if (dict.hasOwnProperty(key)) {
                  arr.push( [ key, dict[key] ] );
              }
          }
          

          这可能会帮助你

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2019-05-05
            • 1970-01-01
            • 2015-04-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多