⊗jsSpOtAC 279 of 294 menu

JavaScriptでの配列変換の最適化

文字列を処理するために、常に配列に分割する必要はありません。 例を見てみましょう。 次のコードがあるとします:

let num = 123456789; let arr = String(num).split(''); let sum = 0; for (let elem of arr) { sum += +elem; } console.log(sum);

なぜここで配列に分割するのは良くないのでしょうか?なぜなら、 第一に、配列への分割はプロセッサリソースを消費し、 第二に、生成された配列はRAM内のスペースを占有するからです(しかも、 それは元の文字列が占めるスペースよりも大きくなります)。

しかし実際には、for-of ループは配列だけでなく、文字列も反復処理できます:

let num = 123456789; let str = String(num); let sum = 0; for (let char of str) { sum += +char; } console.log(sum);

次のコードは、入力欄に入力された数字の各桁の合計を求めます。 最適化を実行してください:

<input> let input = document.querySelector('input'); input.addEventListener('blur', function() { let digits = input.value.split(''); let sum = 0; for (let digit of digits) { sum += +digit; } console.log(sum); });

次のコードは、文字列内の文字の数を数えます。 最適化を実行してください:

let str = 'abcaab'; let arr = str.split(''); let i = 0; for (let elem of arr) { if (elem == 'a') { i++; } } console.log(i);

次のコードは、文字列内に特定の文字が存在するかチェックします。 最適化を実行してください:

let str = 'abcaab'; let arr = str.split(''); console.log(arr.includes('a'));
日本語
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
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否