@gsdev99

Как посчитать количество повторений элементов матрицы?

const m = [
    [0, 1, 0, 0, 0, 0, 0, 0, 0, 3],
    [0, 0, 0, 0, 3, 0, 0, 0, 0, 0],
    [0, 0, 4, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 4, 0, 0, 0, 0, 1, 0, 0],
    [0, 0, 4, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 4, 0, 0, 3, 0, 0, 0, 0],
    [0, 0, 4, 0, 0, 0, 0, 3, 0, 0],
    [0, 0, 4, 0, 3, 0, 0, 0, 1, 0],
    [0, 0, 0, 0, 0, 1, 0, 0, 0, 4],
    [0, 0, 0, 0, 0, 0, 0, 0, 1, 1]
]

Нужно вывести:
сколько всего нолей, единиц, троек и четверок.
  • Вопрос задан
  • 117 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Коротко:

const count = matrix.flat().reduce((acc, n) => (acc[n] = -~acc[n], acc), {});

Длинно:

const count = {};

for (const row of matrix) {
  for (const n of row) {
    if (!count.hasOwnProperty(n)) {
      count[n] = 0;
    }

    count[n]++;
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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