Closed4

Object の Array を Object に変換する

7kaji7kaji

[key: value] の flat な Object に変換したい(ことがよくあるはず)

const array_object = [
  { key: 'hoge', value: 1000, },
  { key: 'fuga', value: 2000, },
  { key: 'piyo', value: 3000, },
];

const object = array_object.reduce((acc, cur) => {
  acc[cur.key] = cur.value;
  return acc;
}, {});   

// object: { hoge: 1000, fuga: 2000, piyo: 3000 }
7kaji7kaji
const object = array_object.reduce((acc, cur) => {
  return Object.assign(acc, { [cur.key]: cur.value });
}, {});

// object: { hoge: 1000, fuga: 2000, piyo: 3000 }

or

const object = array_object.reduce((acc, cur) => {
  return { ...acc, [cur.key]: cur.value };
}, {});

// object: { hoge: 1000, fuga: 2000, piyo: 3000 }
7kaji7kaji
const object = Object.assign({}, ...array_object.map(cur => {
  return { [cur.key]: cur.value };
}));

// object: { hoge: 1000, fuga: 2000, piyo: 3000 }
7kaji7kaji
const object = Object.fromEntries(array_object.map((obj) => [obj.key, obj.value]))

// object: { hoge: 1000, fuga: 2000, piyo: 3000 }
このスクラップは2023/04/06にクローズされました