blog

では、どのようにすれば最も速く配列を空にできるのだろうか?

index: 必須。要素の追加/削除元を指定します。 howmany: 必須。いくつの要素を削除するかを指定します。このパラメータを指定しなかった場合は、 index から元の配列の末尾までのすべての...

May 10, 2020 · 2 min. read
シェア

方法1:スプライス機能

index: 必須。要素を追加/削除する場所を指定します。

howmany: 必須。いくつの要素を削除するかを指定します。このパラメータを指定しなかった場合は、 index から元の配列の末尾までのすべての要素が削除されます。

element1: オプション。配列に追加する新しい要素を指定します。

<script type ="text/javascript"> 
 var arr = [1,2,3,4]; 
 arr.splice(0,arr.length); </script> 

方法2:配列の長さに0を代入。

<script type ="text/javascript"> 
 var arr = [1,2,3,4]; 
 arr.length = 0;
</script> 

配列に与えられた長さはそれ自身の長さより短く、配列の後の要素は切り捨てられます。

配列にそれ自身よりも大きな長さを与えると、配列の長さが延長され、余分な要素は未定義になります。

方法3:新しい配列[]を直接代入する方法

<script type ="text/javascript"> 
 var arr = [1,2,3,4]; 
 arr = [];
</script> 

この方法は、arr を空の配列として再コピーするものです。

効率の比較:

効率テストのコードは以下の通り:

<script>
 var a = [];
 var b = [];
 var c = [];
 for(var i =0 ; i < ;i++){
 a.push(i);
 }
 console.time('splice');
 a.splice(0,a.length); 
 console.timeEnd('splice');
 
 for(var i =0 ; i < ;i++){
 b.push(i);
 }
 console.time('length');
 b.length = 0;
 console.timeEnd('length');
 
 for(var i =0 ; i < ;i++){
 c.push(i);
 }
 console.time(' []');
 c = [];
 console.timeEnd(' []');
</script>

テスト結果

スプライス:0.010986328125ms

長さ: 0.009033203125ms

アサインメント[]:0.024169921875ms

複数のテストによると、2番目の方法が最も速く、1番目は2番目、3番目は大容量のデータに対して最も遅いという結果が出ています。

Read next

入力URLからフロントエンドの観点からの分析は、htmlの全体のプロセスを取得する

最初の波は、ブラウザがデータを送信し、切断するFINを送信します。2番目の波は、サーバーが同意するACKを送信され、サーバーはまた、この時間を切断するFINリクエストを送信した場合することができますが、アカウントにサーバーはまだ送信するデータがあるかもしれないので、FINを送信するブラウザは、それが同意することを示すためにACKに返す必要があるように3番目の波に配置する必要があります、4番目の波です。 上記は、完全な表現です...

May 10, 2020 · 10 min read