Функциональный JavaScriptМетоды массивовeasy

Функция bifurcate

Реализуйте функцию bifurcate, которая разбивает элементы массива на две группы по заданному признаку.

Аргументы

  • array — массив, элементы которого нужно разбить на группы
  • predicate — функция, вызываемая на каждом элементе массива. Если она возвращает true, то элемент оппадает в первую группу, если false — во вторую.
    • element — элемент массива
    • index — индекс элемента
    • array — массив, для которого вызывается функция

Возвращаемое значение

Массив из двух массивов: в первом лежат элементы, который удовлетворяют свойству, задаваемому через колбэк predicate, во втором — все остальные элементы.

Примеры

console.log(bifurcate([1, "a", 3, "b", "c"], x => typeof x === "string")); // [["a", "b", "c"], [1, 3]] console.log(bifurcate([1, 2, 3, 4], x => x > 2)); // [[3, 4], [1, 2]] console.log(bifurcate(["a", "b", "c", "d"], (x, i) => i % 2 === 0)); // [["a", "c"], ["b", "d"]] console.log(bifurcate([3, 5, 9, 1, 4, 7, 2], (x, i, arr) => x <= arr[0])); // [[3, 1, 2], [5, 9, 4, 7]]