Преобразование объекта объектов в один объект - PullRequest
0 голосов
/ 27 июня 2019

Мне нужен такой формат:

{ 0: 'apples', 1: 'oranges', 2: 'lemons' }

Раньше у меня был массив без ключей, но после применения Object.assign у меня сейчас такой формат:

{ 0: {code: "apples"}, 1: {code: "oranges"}, 2: {code: "lemons"} }

Буду признателен за любые советы о том, как преобразовать его в первый формат.

Ответы [ 4 ]

1 голос
/ 27 июня 2019

Вам необходимо рекомбинировать объект, убрав code.

. Этот подход использует (готовится к публикации) Object.fromEntries.

var object = { 0: { code: "apples" }, 1: { code: "oranges" }, 2: { code: "lemons" } },
    result = Object.fromEntries(Object.entries(object).map(([key, { code }]) => [key, code]));

console.log(result);
0 голосов
/ 27 июня 2019

let o = { 0: {code: "apples"}, 1: {code: "oranges"}, 2: {code: "lemons"} };
let oNew = {};
for (let prop in o) { 
   oNew[prop] = o[prop].code;
}
console.log(oNew);
0 голосов
/ 27 июня 2019

От array до object с reduce:

console.log(['apples', 'oranges',  'lemons' ].reduce((p,c,i)=>({...p, [i]:c}), {}))
0 голосов
/ 27 июня 2019

Попробуйте это

const data = { 0: 'apples', 1: 'oranges', 2: 'lemons' }
const result = Object.keys(data).reduce((acc, ele, i)=>({...acc, [i]: {code: data[i]}}), {});

console.log(result);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...