@vitas2008

Как изменить имена ключей в массиве объектов исходя из другого массива объектов?

Есть массив типа const arr1 = [{data: 'дата'}, {day: 'день'}] и массив, где надо перевести ключи которые есть в arr1:

const arr2 = [{data: 233, day: 'пон', time: '44', cs: 3},{data: 3, day: 'вт', time: '22', cs: 4}]

Нужно получить из них

const arr3 = [{дата: 233, день: 'пон'}, {дата: 3, день: 'вт'}]

Делаю для экспорта в таблицу excel, но там надо, чтобы ключи именовались на русском (а что, так можно вообще?), а не на том, что с бэка пришло.
  • Вопрос задан
  • 111 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const result = arr2.map(function(n) {
  return Object.fromEntries(this.map(m => [ m[1], n[m[0]] ]));
}, arr1.flatMap(Object.entries));

или

const keys = Object.entries(Object.assign({}, ...arr1));
const result = arr2.map(n => keys.reduce((acc, m) => (acc[m[1]] = n[m[0]], acc), {}));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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