Преобразование свойств объекта в массив объектов - PullRequest
0 голосов
/ 05 сентября 2018

Я получаю вывод, который выглядит так:

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

и мне нужно, чтобы это выглядело так:

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

Так что мой фронт может поглотить его. Как я могу преобразовать это?

Ответы [ 4 ]

0 голосов
/ 05 сентября 2018

Вы можете использовать методы 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; }
0 голосов
/ 05 сентября 2018

Вы можете отобразить записи объекта, используя новые объекты.

Методы:

var object = { '1536135941922': 'true', '1536135962942': 'false', '1536135986966': 'false', '1536135989968': 'true' },
    array = Object.entries(object).map(([k, v]) => ({ [k]: v }));
  
console.log(array);
0 голосов
/ 05 сентября 2018

Это однострочник с Object.entries и Array.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));

Какая у вас бэкэнд? Я принимал Node, так как вы пометили javascript .

0 голосов
/ 05 сентября 2018

Если вы используете PHP, вы можете создать объект для объекта и поместить его в массив. После этого вы можете преобразовать объект массива в json с помощью json_encode функций и вернуть его на фронт.

...