Основы JavaScript (синтаксис ES6): Упражнение 69 с решением
Напишите программу JavaScript для группировки элементов массива на основе заданной функции и возврата количества элементов в каждом group.
Пример решения: —
HTML-код:
Группирует элементы массива на основе заданной функции и возвращает количество элементов в каждой группе Код JavaScript:
//# Источник https://bit.ly/2neWfJ2 const countBy = (arr, fn) => arr.map (typeof fn === 'function'? fn: val => val [fn]). reduce ((acc, val, i) => {acc [val] = (acc [val] || 0) + 1; return acc;}, {}); console.log ( countBy ([6, 10, 100, 10], Math.sqrt)); console.log (countBy ([6.1, 4.2, 6.3], Math.floor)); console.log (countBy (['один', ' two ',' three '],' length '));
Пример вывода:
{"10": 1, "2.4494 89742783178 ": 1," 3.1622776601683795 ": 2} {" 4 ": 1," 6 ": 2} {" 3 ": 2," 5 ": 1}
Блок-схема:
Живая демонстрация:
См. Pen javascript-basic-упражнение-69-1 от w3resource (@ w3resource) на CodePen.
Предыдущий: Напишите программу JavaScript, которая принимает сходящуюся функцию и список функций ветвления и возвращает функцию, которая применяет каждую функцию ветвления к аргументам, а результаты функций ветвления передаются в качестве аргументов в сходящуюся функция.
Далее: Напишите программу на JavaScript для подсчета вхождений значения в массив.