ノンカフェインであなたにやさしい

Rails,HTML,JavaScript,jQuery,PHP,CakePHPなど

javascriptでin_arrayを実現する方法

javascriptでin_arrayを実現する方法を2つご紹介します。
PHPで使い慣れたin_arrayがjavascriptになかったためin_arrayを使えるようにします。

方法1:someメソッドを使う

Javascriptでin_array的なことをするならsomeメソッドが便利 - Qiita
※someメソッドはIE9以降からしかサポートしていないので注意。
some Method (Array) (JavaScript)

var tmp = ['test', 'hoge', 'Hello', 'world'];

tmp.some(function(v){ return v === 'Hello' }) // -> true
tmp.some(function(v){ return v === 'hello' }) // -> false

方法2:Array型にin_arrayメソッドを定義する

Javascriptでissetとin_array-ITかあさん
※こちらはIE8でも動作確認できました。

// in_arrayをprototypeに定義
Array.prototype.in_array = function(val) {
    for(var i = 0, l = this.length; i < l; i++) {
        if(this[i] == val) {
            return true;
        }
    }
    return false;
}

var v_array = [ 5, 10, 15, 20, 25];

v_array.in_array(12) // -> false
v_array.in_array(15) // -> true