Как посчитать количество одинаковых элементов в массиве js

Ответы
Аватар пользователя Вячеслав Межуревский
Вячеслав Межуревский
26 сентября 2022

Для поиска одинаковых элементов в массиве нагляднее всего воспользоваться циклом:

const nums = [1, 2, 1, 4, 5, 1, 7, 8, 1, 10];

let count = 0;

for (let i = 0; i < nums.length; i +=1 ) {
  if (nums[i] === 1) {
    count += 1;
  }
}
// Вывод: 4

Или например, необходимо посчитать сколько раз встречается каждая цифра в исходном массиве, с помощью reduce:

const nums = [1, 2, 7, 4, 5, 2, 7, 8, 1, 10];

const res = nums.reduce((acc, i) => {
  if (acc.hasOwnProperty(i)) {
    acc[i] += 1;
  } else {
    acc[i] = 1;
  }
  return acc;
},{})
// Вывод: { '1': 2, '2': 2, '4': 1, '5': 1, '7': 2, '8': 1, '10': 1 }
0 0
Добавьте ваш ответ

Рекомендуемые курсы

утверждения
jest
матчеры
юнит-тесты
14 часов
Посмотреть
полифиллы
AJAX
события
селекторы
20 часов
Посмотреть
состояние
JSX
компоненты
производительность
26 часов
Посмотреть