方法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番目は大容量のデータに対して最も遅いという結果が出ています。





