はじめに
この実験では、JavaScript の indexOfAll 関数を調べます。この関数を使うと、配列内の特定の値のすべてのインデックスを見つけることができます。Array.prototype.reduce() メソッドを使うことで、配列の要素を簡単にループ処理し、一致する要素のインデックスを格納することができます。この実験では、この便利な関数とその JavaScript での実装方法を実際に体験します。
すべての一致インデックス
配列内の val のすべてのインデックスを見つけるには、Array.prototype.reduce() を使って要素をループ処理し、一致する要素のインデックスを格納します。val が一度も出現しない場合は、空の配列が返されます。
const indexOfAll = (arr, val) =>
arr.reduce((acc, el, i) => (el === val ? [...acc, i] : acc), []);
使用例:
indexOfAll([1, 2, 3, 1, 2, 3], 1); // [0, 3]
indexOfAll([1, 2, 3], 4); // []
コーディングの練習を始めるには、ターミナル/SSH を開いて node と入力します。
これはすべての一致のインデックスです。
まとめ
おめでとうございます!すべての一致インデックスの実験を完了しました。スキルを向上させるために、LabEx でさらに実験を練習できます。