[JavaScript]配列から指定の値を削除する

[JavaScript]配列から指定の値を削除する

配列から指定した値を削除する関数。出先で作成したものをメモ。

(function(v) {
    for (var i = 0; i < this.length; i++)
        if (this[i] == v) this.splice(i--, 1); 
})

[追記:2007-10-17]this.lengthが可変だということに気づいたので、

for (var i = 0, l = this.length; i < l; i++)

を、

for (var i = 0; i < this.length; i++)

に訂正しました。

使い方は↓

var a = [0, 1, 1, 2, 3, 4];
(function(v) {
    for (var i = 0; i < this.length; i++)
        if (this[i] == v) this.splice(i--, 1); 
}).call(a, 1);
alert(a);    /* [0, 2, 3, 4] */

こういう機能ってネイティブで実装されていた気がする…誰か知っていたら教えてください。

スポンサーサイト

関連記事

トラックバック URL

http://liosk.blog103.fc2.com/tb.php/44-9a958ecc

トラックバック

コメント

コメントの投稿

お名前
コメント
編集キー