@Aleks_Ko

Можно ли переименовать ключи в объектах находящихся в массиве?

Добрый день,
подскажите, как можно привести ключи в объектах находящихся в массиве к одинаковому виду, при этом длина объектов одинаковая, но ключи могут быть разные как пример:

[
{'key1' :  'Kiev', 'key2' :  'Ukraine'},
{'134 ':  'Moskow', 'key2' :  'Rusian federation'},
{'test2' :  'Warszaw', 'key2' :  'Poland'},
{'_test' :  'Paris', 'test' :  'France'},
... итп
]

Заранее спасибо большое!!!
  • Вопрос задан
  • 222 просмотра
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
Собрать новый массив:

const keys = [ 'city', 'country' ];
const newArr = arr.map(n => Object.fromEntries(Object.values(n).map((v, i) => [ keys[i], v ])));

Обновить существующий:

const keys = [ 'city', 'country' ];
arr.forEach(n => Object.entries(n).forEach(([ k, v ], i) => (delete n[k], n[keys[i]] = v)));
Ответ написан
Комментировать
WblCHA
@WblCHA
Тип такое?
const keys = [ 'city', 'country' ];
arr.map((rawObj) => Object.values(rawObj).reduce((acc, value, index) => {
  acc[keys[index]] = value;
  return acc;
}, {}));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы