![js中如何判断一个值是否在数组中,第1张 js中如何判断一个值是否在数组中,第1张](/aiimages/js%E4%B8%AD%E5%A6%82%E4%BD%95%E5%88%A4%E6%96%AD%E4%B8%80%E4%B8%AA%E5%80%BC%E6%98%AF%E5%90%A6%E5%9C%A8%E6%95%B0%E7%BB%84%E4%B8%AD.png)
可以用数组的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