js中如何判断一个值是否在数组中

JavaScript014

js中如何判断一个值是否在数组中,第1张

可以用数组的indexOf函数,方法arr.indexOf(find,start)find:要找的内容,必须;start:查找开始下标,可选;返回:查找数据所在的下标,如果没找到,返回-1如果只要知道是否有8这个数字,直接调用arr.indexOf(8),如果返回值不为-1,说明找到了所谓数组,是无序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。 这些无序排列的同类数据元素的集合称为数组。在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。

js没有直接判断数组中是否存在某一值,最笨的方法是把数组变为键值对的对象,如:

var obj={}

var arr=[1,2,3]

for(var i=0i<arr.lengthi++){

    var v=arr[i]

    if(obj[v]||obj[v]==0){//这里判断v是否已经添加到obj中,如果数组为数字时,需要注意if(0)为true

       continue //已经存在就跳过 

    }else{

        obj[v]=v

    }

}

alert(obj[1])//存在数组中,true

alert(obj[4])//不存在数组中,false

用indexOf,假设你要判断a在不在数组arr中:

if(arr.indexOf(a) != -1){

    console.log(a+'在数组中')

}