ホームページ >ウェブフロントエンド >jsチュートリアル >反復中に JavaScript の配列要素を変更できますか?
JavaScript では、配列は不変です。つまり、配列の要素はループ反復内で直接変更できません。
var arr = ["one", "two", "three"]; arr.forEach(function(part) { part = "four"; return "four"; }) alert(arr);
ただし、part は配列を直接変更しないコールバック関数内のローカル変数であるため、このコードでも ["one"、"two"、"three"] が出力されます。
反復中に配列要素を変更するには、要素のインデックスまたは 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 の代わりに、より直接的な方法で配列を変更する他の関数の使用を検討してください。
これらの関数は、反復中に要素を直接変更する必要がなく、配列を操作するための効率的なメカニズムを提供します。
以上が反復中に JavaScript の配列要素を変更できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。