JavaScript では、forEach メソッドを使用して配列の要素を反復処理できます。ただし、デフォルトでは、反復コールバック関数内で配列の値を変更することはできません。
次の例を考えてみましょう。
var arr = ["one", "two", "three"]; arr.forEach(function(part) { part = "four"; return "four"; }); alert(arr); // Output: ["one", "two", "three"]
ご覧のとおり、配列 arr は forEach の後も変更されません。ループ。これは、forEach コールバック関数が実際の要素への参照ではなく、配列要素のコピーのみを受信するためです。
反復中に配列の値を変更するには、次のようにします。実際の要素にアクセスする必要があります。これを行うには、以下に示すように、コールバック関数に 3 番目のパラメーター (配列ポインター) を渡します。
arr.forEach(function(part, index, theArray) { theArray[index] = "hello world"; });
この例では、theArray は配列ポインターです。これを使用して、現在のインデックスにある実際の要素にアクセスして変更できます。
あるいは、forEach メソッドの 2 番目の引数を使用して、この値を指定することもできますコールバック関数の場合。この値は、配列ポインター自体になります。
arr.forEach(function(part, index) { this[index] = "hello world"; }, arr); // Array must be passed as `this`
どちらのアプローチでも、forEach メソッドを使用して配列を反復処理しながら、配列の値を変更できます。
以上がJavaScript で「forEach」を使用しているときに配列値を変更できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。