Функция для разделения массива на две группы
Чтобы использовать эту функцию для разделения массива на две группы на основе значений, следуйте этим шагам:
- Откройте Терминал/SSH и введите
node
, чтобы начать практиковаться в написании кода.
- Используйте функцию
bifurcate()
, которая разделяет значения на две группы на основе результата заданного массива filter
.
- Чтобы реализовать функцию, используйте
Array.prototype.reduce()
и Array.prototype.push()
для добавления элементов в группы на основе массива filter
.
- Если для какого-либо элемента в
filter
значение истинно, добавьте его в первую группу; в противном случае добавьте его во вторую группу.
Вот код для функции bifurcate()
:
const bifurcate = (arr, filter) =>
arr.reduce(
(acc, val, i) => (acc[filter[i] ? 0 : 1].push(val), acc),
[[], []]
);
Вы можете вызвать функцию bifurcate()
с массивом значений и соответствующим массивом фильтра, чтобы разделить значения на две группы. Например:
bifurcate(["beep", "boop", "foo", "bar"], [true, true, false, true]);
// [ ['beep', 'boop', 'bar'], ['foo'] ]