将对象属性转换为对象数组

Nev*_*vic 4 javascript arrays json object converters

我得到的输出如下所示:

{'1536135941922': 'true',
 '1536135962942': 'false',
 '1536135986966': 'false',
 '1536135989968': 'true'}
Run Code Online (Sandbox Code Playgroud)

我需要它看起来像这样:

[{'1536135941922': 'true'},
 {'1536135962942': 'false'},
 {'1536135986966': 'false'},
 {'1536135989968': 'true'}]
Run Code Online (Sandbox Code Playgroud)

所以我的前面可以消耗它。有什么方法可以转换它?

Moh*_*man 10

您可以使用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);
Run Code Online (Sandbox Code Playgroud)
.as-console-wrapper { max-height: 100% !important; top: 0; }
Run Code Online (Sandbox Code Playgroud)


Nin*_*olz 5

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

方法:

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

Object.fromEntries

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


Dan*_*oni 0

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