Обойти массив и занести в обьект данные js

есть массив:

let arr = [2, 3, 4, 4, 1, 2, 3, 1];

нужно из этого массива сделать обьект такого вида:

let obj = {
   1: 2,
   2: 2,
   3: 2
   4: 2
}

ключ это элемент массива а значение это количество таких элементов в данном массиве, подскажите пжслста как сделать правильно?


Ответы (1 шт):

Автор решения: Сергей Мишин

const arr = [2, 3, 4, 4, 1, 2, 3, 1];

function count(arr) {
  return arr.reduce((prev, curr) => (prev[curr] = ++prev[curr] || 1, prev), {})
}

console.log(count(arr))

→ Ссылка