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
相關文章
相關標籤/搜索