Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】Array::Array.prototype.withインスタンスメソッドの使い方

Array.prototype.with()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

Array.prototype.with()メソッドは、既存の配列の特定のインデックスにある要素を新しい値で置き換え、その結果として新しい配列を生成するメソッドです。このメソッドの大きな特徴は、呼び出し元の元の配列を変更しない「非破壊的」な操作である点です。元の配列はそのまま保持され、指定された要素が変更された新しい配列が返されます。

このメソッドを使用するには、二つの引数を指定します。一つ目はindexで、これは変更したい要素の配列内の位置(インデックス)を指します。二つ目はvalueで、これは指定されたindexの要素と置き換える新しい値です。例えば、[1, 2, 3]という配列に対してwith(1, 9)を実行すると、インデックス1(値2)が9に置き換えられた新しい配列[1, 9, 3]が返されますが、元の[1, 2, 3]の配列自体は変更されません。

もし指定されたindexが配列の有効な範囲外であった場合、このメソッドはRangeErrorというエラーを発生させます。これは、存在しない位置の要素を変更しようとする不正な操作を防ぐための挙動です。Array.prototype.with()は、元のデータを保護しつつ、特定の要素だけを変更した新しいデータセットを作成したい場合に非常に便利な機能を提供します。

公式リファレンス: Array.prototype.with()

構文(syntax)

1const originalArray = [1, 2, 3];
2const newArray = originalArray.with(1, 100);

引数(parameters)

index, value

  • index: number: 要素を更新する位置を指定するインデックス
  • value: any: 指定したインデックスに設定する新しい値

戻り値(return)

Array

指定されたインデックスの要素が変更された新しい配列を返します。元の配列は変更されません。

関連コンテンツ

関連プログラミング言語