Аналог функции PHP in_array для Javascript

Вариант первый - самостоятельная функция in_array, позволяющая искать значение в массиве. Причем в этой функции есть возможность поиска значения учитывая его тип.

function in_array(needle, haystack, strict) {
   var found = false, key, strict = !!strict;
   for (key in haystack) {
      if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
         found = true;
         break;
      }
   }
   return found;
}

В этом примере фунции передается три значения: needle - искомое значение, haystack - массив в котором осуществляется поиск и strict - флаг точного соответствия. Когда strict = true, будет проверяться тип значения.

Второй пример используется как прототип объекта Array:

Array.prototype.in_array = function(needle) {
   for(var i = 0, l = this.length; i < l; i++) {
      if(this[i] == needle) {
         return true;
      }
   }
   return false;
}

В данном случае не происходит проверки типа значения и функции перезается только один параметр - искомое значение. Вызвать эту функцию можно так:

var a = ['1', '11', '111'];
a.in_array('11');

Функция в этом примере вернет true.