Как можно создать новый объект, используя ключ и значение?

Как изменить код JavaScript так, чтобы вместо ключей 0, 1, 2 в таблице отображались ключи "a", "b", "d", также оставив функциональность передачи массива с ключами в метод `index`?
  • 1 июня 2024 г. 6:51
Ответы на вопрос 2
Для создания нового объекта с определенными ключами и значениями можно воспользоваться следующим синтаксисом:

```javascript
const newObject = {
  key1: value1,
  key2: value2,
  key3: value3,
  // Добавить другие ключи и значения по необходимости
};
```

Для изменения кода JavaScript таким образом, чтобы ключи в таблице отображались как "a", "b", "d", можно воспользоваться следующим подходом:

```javascript
const data = ["value1", "value2", "value3"];
const keys = ["a", "b", "d"];

const objectWithKeys = keys.reduce((acc, key, index) => {
  acc[key] = data[index];
  return acc;
}, {});

console.log(objectWithKeys); // { a: 'value1', b: 'value2', d: 'value3' }
```

В данном примере мы используем метод `reduce`, чтобы создать новый объект, где ключи будут соответствовать значениям находящимся в массиве `keys`, а значения будут соответствовать значениям из массива `data`.
Вы в index используете Object.assign для создания объекта, но не севсем правильно оборачиваете результат в map. Попробуйте так: 
result = Object.assign({}, ...value.map((x) => ({ [x]: indexs[x] })));

Я бы, честно говоря, заменила на reduce, семантически он там логичнее.
Похожие вопросы