ホームページ  >  記事  >  ウェブフロントエンド  >  反復中に JavaScript の配列要素を変更できますか?

反復中に JavaScript の配列要素を変更できますか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-09 11:06:02139ブラウズ

Can You Modify Array Elements in JavaScript During Iteration?

反復中に変更可能な配列要素

JavaScript では、配列は不変です。つまり、配列の要素はループ反復内で直接変更できません。

var arr = ["one", "two", "three"];

arr.forEach(function(part) {
  part = "four";
  return "four";
})

alert(arr);

ただし、part は配列を直接変更しないコールバック関数内のローカル変数であるため、このコードでも ["one"、"two"、"three"] が出力されます。

インデックスを使用した配列の変更と this

反復中に配列要素を変更するには、要素のインデックスまたは this オブジェクトを使用して要素にアクセスします。

// Using index
arr.forEach(function(part, index, theArray) {
  theArray[index] = "hello world";
});

// Using 'this'
arr.forEach(function(part, index) {
  this[index] = "hello world";
}, arr);

2 番目の例では、コールバック関数の this 値として arr が指定されています。 。したがって、this[index] は配列要素を参照します。

代替の配列操作関数

forEach の代わりに、より直接的な方法で配列を変更する他の関数の使用を検討してください。

  • filter: 条件を満たす要素を含む新しい配列を作成します。
  • map: 既存の配列の各要素を変換して新しい配列を作成します。
  • reduce: 要素を単一の値に結合します。

これらの関数は、反復中に要素を直接変更する必要がなく、配列を操作するための効率的なメカニズムを提供します。

以上が反復中に JavaScript の配列要素を変更できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。