JavaScript: разбить значения на две группы в соответствии с функцией предиката
Основной JavaScript (синтаксис ES6): упражнение-58 с решением
Напишите программу на JavaScript для разделения значений на две группы в соответствии с функцией предиката, которая указывает, к какой группе принадлежит элемент во входной коллекции.
Если функция предиката возвращает истинное значение, элемент коллекции принадлежит первой группе; в противном случае он относится ко второй группе.
Пример решения:
HTML-код:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Split values into two groups according to a predicate function</title>
</head>
<body>
</body>
</html>
Код JavaScript:
//#Source https://bit.ly/2neWfJ2
const bifurcateBy = (arr, fn) =>
arr.reduce((acc, val, i) => (acc[fn(val, i) ? 0 : 1].push(val), acc), [[], []]);
console.log(bifurcateBy(['beep', 'boop', 'foo', 'bar'], x => x[0] ==='b'));
Пример вывода:
[[ "Бип", "Boop", "бар"], [ "Foo"]]
Блок - схема:
Демонстрация в реальном времени:
См. Pen javascript-basic-упражнение-58-1 от w3resource ( @ w3resource ) на CodePen .
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущая: напишите программу на JavaScript для вычисления среднего значения массива после сопоставления каждого элемента значению с помощью предоставленной функции.
Далее: Напишите программу на JavaScript для создания функции, которая вызывает fn с заданным контекстом, при необходимости добавляя любые дополнительные предоставленные параметры в начало аргументов.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования