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

14

我得到的输出看起来像这样:

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

并且我需要它看起来像这样:

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

所以我的前端可以使用它。我如何将其转换?

4个回答

23

您可以使用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; }


5
你可以使用新对象来映射对象的条目。
方法:

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; }


3

这是一行代码,使用 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。

0
如果您正在使用PHP,您可以创建对象并将它们推送到数组中。之后,您可以使用json_encode函数将数组对象转换为JSON,并将其返回给前端。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接