⊗jsSpOtIF 274 of 294 menu

JavaScriptの組み込み関数による最適化

あるプログラマーが、配列内に数字3が存在するか チェックしているとします:

let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; let exists = false; for (let elem of arr) { if (elem === 3) { exists = true; break; } } console.log(exists);

このコードには何か問題があると私は主張します。 数字3を見つけた後にループを抜けているのに、 何が問題なのでしょうか? 問題は、 JavaScriptに組み込まれた関数は、同等の自作コードよりも 常に高速に動作するという点にあります。

このケースでは、目的のタスクを解決する関数 includesが存在します。そして、使用すべきなのは まさにこの関数なのです:

let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; console.log(arr.includes(3));

教訓:タスクを解決する前に、JavaScriptに組み込みの関数が 存在しないか必ず確認してください。

次のコードは、文字列が 'http' で 始まるかどうかをチェックしています。 最適化を実行してください:

let str = 'http://code.mu'; if (str[0] + str[1] + str[2] + str[3] === 'http') { console.log('+++'); } else { console.log('---'); }

次のコードは、配列を指定された値で 埋めます。 最適化を実行してください:

let arr = fillArr('x', 5); console.log(arr); function fillArr(val, amount) { let arr = []; for (let i = 1; i <= amount; i++) { arr.push(val); } return 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
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否