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

问题描述 投票:2回答:4

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

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

我需要它看起来像这样:

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

所以我的前线可以消耗它。我可以用它转换它的方式是什么?

javascript arrays json object converters
4个回答
3
投票

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


1
投票

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

方法:

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

0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.