JavaScript中判断数组是否包含某个元素

javascript的Array没有contains方法,有时候这会不方便,contains方法实现很简单javascript

能够扩展Array类,以下:java

写法1.
Array.prototype.contains = function(obj) {
    var i = this.length;
    while (i--) {
        if (this[i] === obj) {
            return true;
        }
    }
    return false;
}
写法2.
Array.prototype.contains = function (element) {
    for (var i = 0; i < this.length; i++) {
        if (this[i] == element) {
            return true;
        }
    }
    return false;
}

或者是定义函数:函数

function contains(a, obj){
  for(var i = 0; i < a.length; i++) {
    if(a[i] === obj){
      return true;
    }
  }
  return false;
}

这样就能够方便的使用contains方法了:this

console.info([1, 2, 3].contains(2)); // => true,调用Array的扩展方法
console.info([1, 2, 3].contains('2')); // => false
console.info(contains([1, 2, 3],2));//true,调用自定义函数contains方法
console.info(contains([1, 2, 3],'2'));//false