JS判断元素是否在数组内的实现代码
一、JQuery
如果是用JQuery的话,可以用inArray()函数:
jqueryinarray()函数详解
jquery.inarray(value,array)
确定第一个参数在数组中的位置(如果没有找到则返回-1)。
determinetheindexofthefirstparameterinthearray(-1ifnotfound).
返回值
jquery
参数
value(any):用于在数组中查找是否存在
array(array):待处理数组。
用法为:
$.inArray(value,array)
二、自己写函数
functioncontains(arr,obj){
vari=arr.length;
while(i--){
if(arr[i]===obj){
returntrue;
}
}
returnfalse;
}
用法为:
vararr=newArray(1,2,3); contains(arr,2);//返回true contains(arr,4);//返回false
三、给Array增加一个函数
Array.prototype.contains=function(obj){
vari=this.length;
while(i--){
if(this[i]===obj){
returntrue;
}
}
returnfalse;
}
使用方法:
[1,2,3].contains(2);//返回true
[1,2,3].contains('2');//返回false
四、使用indexOf
但是有个问题是IndexOf在某些IE版本中是不兼容的,可以用下面的方法:
if(!Array.indexOf){
Array.prototype.indexOf=function(obj){
for(vari=0;i<this.length;i++){
if(this[i]==obj){
returni;
}
}
return-1;
}
}
先判断Array是否有indexOf方法,如果没有就扩展出此方法。
所以上面代码要写在使用indexOf方法的代码之前:
vararr=newArray('1','2','3');
if(!Array.indexOf){
Array.prototype.indexOf=function(obj){
for(vari=0;i<this.length;i++){
if(this[i]==obj){
returni;
}
}
return-1;
}
}
varindex=arr.indexOf('1');//为index赋值为0热门推荐
10 五一公司放假祝福语简短
11 追星女孩的祝福语简短
12 给长辈端午祝福语 简短
13 生日祝福语有诗意简短
14 团圆日祝福语简短
15 中秋商务祝福语简短最新
16 温暖文艺简短祝福语短句
17 男孩上学祝福语简短的
18 入住酒店文案祝福语简短