5 of 17 menu

JavaScriptにおける配列要素変更のエラー

配列要素の誤った変更によって発生するエラーについて見ていきましょう。 例えば、以下のような配列があるとします。

let arr = [1, 2, 3, 4, 5];

また、数値を受け取りその2乗を返す関数があるとします。

function func(num) { return num ** 2; }

for-ofループを使用して配列を反復処理し、 各要素に関数を適用してみましょう。

for (let elem of arr) { elem = func(elem); }

ここで、初心者がよく間違いを犯します。 変数elemを変更しても、 配列自体の要素は変更されないのです。 実際に確認してみましょう。

console.log(arr); // 配列は変更されていない

配列が変更されないのは、変数elemには 要素への参照ではなくコピーが格納されているためです。 elemを変更してもコピーに影響するだけで、 元の配列には影響しません。

この問題を解決するには、配列の要素自体を変更する必要があります。

for (let i = 0; i < arr.length; i++) { arr[i] = func(arr[i]); } console.log(arr); // これで配列が変更された
日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否