Создать массив на основе вложенного массива

У меня есть такой массив

const arr = [ [1, 0], [0, 2], [0, 1], [0, 1] ]

Я хочу уменьшить его и получить новый массив. Моя цель - получить значения вложенного массива по индексу. [[индекс(0)],[индекс(1)]

const new arr = [ [1,0,0,0] , [0,2,1,1] ]

Я пробовал, но не понимаю, как я это могу.

🤔 А знаете ли вы, что...
JavaScript был первоначально создан для улучшения интерактивности веб-страниц.


60
1

Ответ:

Решено

Вы можете использовать приведенный ниже код:

const arr = [
  { date: '2024/02/05', price: '1400' },
  { date: '2024/02/06', price: '1400' },
  { date: '2024/02/07', price: '2000' },
  { date: '2024/02/08', price: '2000' },
  { date: '2024/02/09', price: '2000' },
  { date: '2024/02/10', price: '2500' },
  { date: '2024/02/11', price: '2500' }
];

const groupedArr = arr.reduce((acc, obj) => {
  const existingItem = acc.find(item => item.price === obj.price);
  if (existingItem) {
    existingItem.date.push(obj.date);
  } else {
    acc.push({ price: obj.price, date: [obj.date] });
  }
  return acc;
}, []);

console.info(groupedArr);