はじめに
この実験では、JavaScript を使って特定のインデックスの配列から値を抽出する方法を探ります。pullAtIndex()関数を使い、指定されたインデックスの値をフィルタリングして元の配列を変更し、削除された要素を返します。この実験が終わるとき、JavaScript で配列を操作する方法を十分に理解しているでしょう。
インデックスの配列から値を抽出する方法
特定のインデックスの配列から特定の値を抽出するには、次の手順に従います。
- ターミナル/SSH を開き、コーディングを練習するために
nodeと入力します。 Array.prototype.filter()とArray.prototype.includes()を使って不要な値をフィルタリングし、removedと呼ばれる新しい配列に格納します。Array.prototype.lengthを0に設定して、元の配列の長さをリセットすることで元の配列を変更します。Array.prototype.push()を使って、抽出された値のみで元の配列を再作成します。Array.prototype.push()を使って、削除された値を追跡します。pullAtIndex関数は 2 つの引数を取ります。元の配列と抽出するインデックスの配列です。- 関数は削除された値の配列を返します。
使用例:
const pullAtIndex = (arr, pullArr) => {
let removed = [];
let pulled = arr
.map((v, i) => (pullArr.includes(i) ? removed.push(v) : v))
.filter((v, i) => !pullArr.includes(i));
arr.length = 0;
pulled.forEach((v) => arr.push(v));
return removed;
};
let myArray = ["a", "b", "c", "d"];
let pulled = pullAtIndex(myArray, [1, 3]);
// myArray = [ 'a', 'c' ], pulled = [ 'b', 'd' ]
まとめ
おめでとうございます!インデックスの配列から値を抽出する実験を完了しました。LabEx でさらに多くの実験を行って、スキルを向上させることができます。