配列の初期化(2)
javascriptでは、配列のクリアを行うメソッドはない。
prototypejsでは以下のように実装されている。
Array.prototype.clear=function(){ this.length=0; return this; };
JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス
- 作者: Douglas Crockford,水野貴明
- 出版社/メーカー: オライリージャパン
- 発売日: 2008/12/22
- メディア: 大型本
- 購入: 86人 クリック: 1,526回
- この商品を含むブログ (180件) を見る
lengthの値を小さくした場合は、その値と同じか、それよりも大きい添字をプロパティとして持つデータは削除される。
そのため、length=0としているのだろう。
thisを返しているのはカスケードのためなんだろうと思う。
こうすることで、下のようにメソッドチェーンが使える。
var arr=['a','b','c']; // 配列をクリアして、新しく値を追加 arrr.clear().push('d');