はじめに
この実験では、JavaScript を使って与えられた値に基づいて配列を分割する方法を探ります。この実験では、与えられたフィルタに基づいて、Array.prototype.reduce() メソッドと Array.prototype.push() メソッドを使って要素を 2 つのグループに追加する方法を示します。この実験が終了するまでに、JavaScript における配列の操作方法をより深く理解するようになります。
配列を 2 つのグループに分割する関数
この関数を使って値に基づいて配列を 2 つのグループに分割するには、次の手順に従います。
- ターミナル/SSH を開き、コーディングの練習を始めるために
nodeと入力します。 - 与えられた
filter配列の結果に基づいて値を 2 つのグループに分割するbifurcate()関数を使います。 - 関数を実装するには、
filter配列に基づいてグループに要素を追加するためにArray.prototype.reduce()とArray.prototype.push()を使います。 filterがどの要素に対しても真値を持つ場合は、それを最初のグループに追加します。それ以外の場合は、2 番目のグループに追加します。
以下は bifurcate() 関数のコードです。
const bifurcate = (arr, filter) =>
arr.reduce(
(acc, val, i) => (acc[filter[i] ? 0 : 1].push(val), acc),
[[], []]
);
値の配列と対応するフィルタ配列を使って bifurcate() 関数を呼び出すことで、値を 2 つのグループに分割できます。たとえば:
bifurcate(["beep", "boop", "foo", "bar"], [true, true, false, true]);
// [ ['beep', 'boop', 'bar'], ['foo'] ]
まとめ
おめでとうございます!値に基づいた配列の分割の実験を完了しました。スキルを向上させるために、LabEx でさらに多くの実験を行って練習できます。