Разделение массива на основе значений

JavaScriptJavaScriptBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии мы изучим, как разбить массив на две части на основе заданных значений с использованием JavaScript. В практическом занятии будет показано, как использовать метод Array.prototype.reduce() и метод Array.prototype.push() для добавления элементов в две группы на основе заданного условия фильтрации. В конце практического занятия вы будете лучше понимать, как манипулировать массивами в JavaScript.

Функция для разделения массива на две группы

Чтобы использовать эту функцию для разделения массива на две группы на основе значений, следуйте этим шагам:

  1. Откройте Терминал/SSH и введите node, чтобы начать практиковаться в написании кода.
  2. Используйте функцию bifurcate(), которая разделяет значения на две группы на основе результата заданного массива filter.
  3. Чтобы реализовать функцию, используйте Array.prototype.reduce() и Array.prototype.push() для добавления элементов в группы на основе массива filter.
  4. Если для какого-либо элемента в 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'] ]

Резюме

Поздравляем! Вы завершили практическое занятие по разделению массива на основе значений. Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.