Javascript 判断素组里是否包含该元素

在C#或JAVA里的List里都会有contains方法来判断,可JavaScript里没有该方法

只能用indexOf是否为整数来判断

1
2
3
4
5
6
7
var arr = ["a", "b", "c"];
if (arr.indexOf("a") >= 0){
// 有
}
if (arr.indexOf("a") == -1){
// 无
}

顺便记录几个Javascript里几个素组遍历的方法

  1. 传统的
    这是标准for循环的写法也是最传统的语句,字符串也支持,定义一个变量i作为索引,以跟踪访问的位置,len是数组的长度,条件就是i不能超过len。

    1
    2
    3
    4
    var arr = [1,2,4,6]
    for(var i = 0, len = arr.length; i < len; i++){
    console.log(arr[i])
    }
  2. forEach 语句
    forEach 方法对数组的每个元素执行一次提供的CALLBACK函数,forEach是一个数组方法,可以用来把一个函数套用在一个数组中的每个元素上

    1
    2
    3
    4
    var arr = [1,2,4,6]
    arr.forEach(function(item) {
    console.log(item);
    })
  3. for-in 语句

    1
    2
    3
    4
    var arr = [1,2,4,6]
    for (var key in arr) {
    console.log(arr[key])
    }
  4. for-of 语句 (ES 6)

    1
    2
    3
    4
    var arr = [1,2,4,6]
    for (item of arr) {
    console.log(item)
    }

for of 遍历的结果是值,并且被遍历的对象必须是可以迭代的,for in 遍历的结果是索引,并且这个索引必须是明确的。