js判断元素是否在数组中

JavaScript017

js判断元素是否在数组中,第1张

直接用indexOf这个方法,方法如下array.indexOf(a)结果是int类型的a元素在数组的位置,如果不存在会返回-1,所以判断这个值是不是-1就可以判断元素是否在数组中了。不过ie下不支持indexOf,所以需要先申明:

Array.prototype.indexOf = function (val) {  

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

        if (this[i] == val) {  

            return i  

        }  

    }  

    return -1  

}

1.arr.indexOf(搜索元素,开始位置):

元素在数组中的位置,如果没搜索到则返回 -1

2.arr.includes(搜索元素):

如果是返回 true,否则false

3.filter() 方法:返回符合条件的元素组成的数组

4.array.find():返回找出第一个符合条件的数组元素

5.array.findIndex():返回第一个符合条件的数组元素的位置,

如果所有元素都不符合条件,则返回-1

6.传统for()循环

7.for...of

8.forEach

9.some():用于检测数组中的元素是否满足指定条件(函数提供)

如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。

如果没有满足条件的元素,则返回false。

10.every:用于检测数组中的元素是否满足指定条件(函数提供)

如果都满足条件,则表达式返回true ,

如果有一个不满足,则返回false。

Array.prototype.getIndex = funtion(item) {

    if(!this.length || !item) return -1

    var i = 0,

        len = this.length

    for(i<leni++){

        if(this[i] == item) return i        

    }

    return -1

}

var arr = ["a","b","c"]

alert(arr.getIndex("b"))