【问题标题】:Converting object properties to array of objects将对象属性转换为对象数组
【发布时间】:2019-02-10 08:50:30
【问题描述】:

我得到如下所示的输出:

{'1536135941922': 'true',
 '1536135962942': 'false',
 '1536135986966': 'false',
 '1536135989968': 'true'}

我需要它看起来像这样:

[{'1536135941922': 'true'},
 {'1536135962942': 'false'},
 {'1536135986966': 'false'},
 {'1536135989968': 'true'}]

所以我的前面可以消耗它。我可以通过什么方式转换它?

【问题讨论】:

    标签: javascript arrays json object converters


    【解决方案1】:

    您可以使用Object.entries().map() 方法来获得所需的输出:

    let data = {
      '1536135941922': 'true',
      '1536135962942': 'false',
      '1536135986966': 'false',
      '1536135989968': 'true'
    };
      
    let result = Object.entries(data).map(( [k, v] ) => ({ [k]: v }));
    
    console.log(result);
    .as-console-wrapper { max-height: 100% !important; top: 0; }

    【讨论】:

      【解决方案2】:

      这是Object.entriesArray.map 的单行代码:

      const data = {'1536135941922': 'true',
        '1536135962942': 'false',
        '1536135986966': 'false',
        '1536135989968': 'true'};
      const convert = (object) => Object.entries(data).map(([key, value]) => ({ [key]: value }));
      console.log(convert(data));

      您的后端设置是什么?自从您使用 javascript 标记后,我一直在假设 Node。

      【讨论】:

        【解决方案3】:

        您可以使用新对象映射对象的条目。

        方法:

        var object = { '1536135941922': 'true', '1536135962942': 'false', '1536135986966': 'false', '1536135989968': 'true' },
            array = Object.entries(object).map(([k, v]) => ({ [k]: v }));
          
        console.log(array);

        Object.fromEntries:

        var object = { '1536135941922': 'true', '1536135962942': 'false', '1536135986966': 'false', '1536135989968': 'true' },
            array = Object
                .entries(object)
                .map(pair => Object.fromEntries([pair]));
          
        console.log(array);
        .as-console-wrapper { max-height: 100% !important; top: 0; }

        【讨论】:

          【解决方案4】:

          如果您使用 PHP,您可以为对象创建对象并将它们推送到数组中。之后,您可以使用 json_encode 函数将数组对象转换为 json 并返回到您的前面。

          【讨论】:

            猜你喜欢
            • 2022-12-08
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-11-10
            • 2019-12-27
            • 1970-01-01
            • 1970-01-01
            • 2016-03-22
            相关资源
            最近更新 更多