Создайте массив объектов со свойством общего ключа

В JavaScript существуют различные методы создания массива объектов, каждый из которых имеет общее ключевое свойство. В этой статье рассматриваются различные подходы и приводятся примеры кода для иллюстрации каждого метода. Используя эти методы, вы можете эффективно организовывать данные и манипулировать ими в своих приложениях JavaScript.

Метод 1: использование цикла for
Пример кода:

const key = 'commonKey';
const objects = [
  { [key]: 'value1', otherProperty: 'otherValue1' },
  { [key]: 'value2', otherProperty: 'otherValue2' },
  { [key]: 'value3', otherProperty: 'otherValue3' }
];

Метод 2: метод Array.map()
Пример кода:

const key = 'commonKey';
const values = ['value1', 'value2', 'value3'];
const objects = values.map(value => ({ [key]: value, otherProperty: `otherValue for ${value}` }));

Метод 3: метод Array.from()
Пример кода:

const key = 'commonKey';
const values = ['value1', 'value2', 'value3'];
const objects = Array.from(values, value => ({ [key]: value, otherProperty: `otherValue for ${value}` }));

Метод 4: метод Array.reduce()
Пример кода:

const key = 'commonKey';
const values = ['value1', 'value2', 'value3'];
const objects = values.reduce((acc, value) => {
  acc.push({ [key]: value, otherProperty: `otherValue for ${value}` });
  return acc;
}, []);

Метод 5: использование метода Object.assign()
Пример кода:

const key = 'commonKey';
const values = ['value1', 'value2', 'value3'];
const objects = values.map(value => Object.assign({ [key]: value }, { otherProperty: `otherValue for ${value}` }));

Метод 6: использование расширенного синтаксиса ES6
Пример кода:

const key = 'commonKey';
const values = ['value1', 'value2', 'value3'];
const objects = values.map(value => ({ ...{ [key]: value }, otherProperty: `otherValue for ${value}` }));

В этой статье мы рассмотрели несколько методов создания массива объектов с общим свойством ключа в JavaScript. Каждый метод предлагает уникальный подход для достижения желаемого результата. Предпочитаете ли вы использовать цикл for, Array.map(), Array.from(), Array.reduce(), Object.assign() или синтаксис распространения ES6, теперь у вас есть ряд вариантов на выбор, основанных на ваши особые требования.