|
<script language="JavaScript" type="text/javascript">
<!--
//copyright(C) 2005 あう http://www5c.biglobe.ne.jp/~horoau/
//ver1.0
Array.prototype.shift = function ()
{var res = this[0];
for(var i=1;i<this.length;i++)
{this[i-1] = this[i];}
this.length = i-1;
return res;}
Array.prototype.pop = function ()
{var res = this[this.length-1];
this.length -= 1;
return res;}
Array.prototype.unshift = function ()
{this.length = this.length+arguments.length-1;
for(var i=this.length;i>=arguments.length;i--)
{this[i] = this[i-arguments.length];}
for(var i=0;i<arguments.length;i++)
{this[i] = arguments[i];}
return this.length;}
Array.prototype.push = function ()
{var limit = this.length;
for(var i=limit;i<limit+arguments.length;i++)
{this[i] = arguments[i-limit];}
var res = this.length;
return res;}
Array.prototype.splice = function (a,b)
{var res = new Array();
for(var i=a;i<a+b && i<this.length;i++)
{res[res.length] = this[i];}
for(var i=0;i<this.length;i++)
{if(i >= a)
{this[i] = this[i+b];}}
this.length -= b;
for(var i=this.length-1;i>=0;i--)
{if(i >= a)
{this[i+arguments.length-2] = this[i];}
if(i == a)
{for(var ii=2;ii<arguments.length;ii++)
{this[a+(ii-2)] = arguments[ii];}}}
return res;}
Array.prototype.grep = function (reg)
{var list = new Array();
for(var i=0;i<this.length;i++)
{this[i] = this[i]+"0".replace(/0$/,"");
if(this[i].search(reg) != -1)
{list[list.length] = this[i];}}
this.length = list.length;
for(var i=0;i<this.length;i++)
{this[i] = list[i];}
return this.length;}
// -->
</script>
|
[ 2005.1.18 ] ver.1.0 |
|
果たして利用価値があるのかわからないけどとりあえず公開。
開発動機は某有名サイトのJavaScriptリファレンスに
shiftやpopの対応がNN4以上のみって書いてあって
他の言語だと当たり前のようにあるメソッドだし
結構便利だからIEでも使えるようにと思って作ってみた。
でも作ってる途中で気付いたんだけど実はIEも対応してた。
バージョンは5.5以上ではあるけどね。
IEの利用者の中にはまだ5.0以前の人も若干ながらいるし
古いブラウザを考慮するなら使えなくはないかなってことで。(ほとんど負け惜しみ?)
でもそれだけじゃ寂しいからgrepを追加してみました。
基本的に各メソッドをオーバーライドしてるだけなんで
例えばgrepだけ使いたかったら他のメソッドは消しちゃっても問題はないかな。
あ、著作権表示は消さないでね。
|
|
ウェブ木箱
copyright(C) 2005 あう