导航:首页 > 编程语言 > js判断在数组中

js判断在数组中

发布时间:2024-11-10 14:03:15

『壹』 js判断是否在数组中

js判断某个给定值是否在数组中的方法:

functionisInArray(arr,val){
vari,iLen;
if(!(arrinstanceofArray)||arr.length===0){
returnfalse;
}
if(typeofArray.prototype.indexOf==='function'){
return!!~arr.indexOf(val)
}
for(i=0,iLen=arr.length;i<iLen;i++){
if(val===arr[i]){
returntrue;
}
}
returnfalse;
}
isInArray([1,2,3,4,5],5);//true
isInArray([1,2,3,4,5],6);//false
isInArray([1,2,3,4,5],'5');//false

解释:

arr instanceof Array判断arr变量是否为数组,如果不是,则输入参数有误,返回false

arr.length === 0判断数组长度是否为0,如果是0,则无论给出哪个值,都不在数组中,返回false

typeof Array.prototype.indexOf === 'function'用来判断浏览器是否原生支持数组的indexOf方法,新版的浏览器都支持数组原生的indexOf,该函数用于获取给定值在数组中的位置信息,如果存在返回首次出现的位置下标,不存在返回-1

arr.indexOf(val)使用原生的方法判断val首次在arr中出现的下标,不存在返回-1

~为取反,只有在值为-1的时候,取反结果为0,其他情况都非零。

!!隐式转换,转为bool型,如果是0则转换后为false,否则为true

后面用循环判断数组每一个值与给定值是否完全相等(此处用===表示不仅数值相等,类型也要相等),如果相等返回true,否则循环结束后返回false

『贰』 js 怎么判断一个对象是否在数组里

|

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

varobj={};
vararr=[1,2,3];
for(vari=0;i<arr.length;i++){
varv=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

『叁』 js判断元素是否在数组中

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

Array.prototype.indexOf=function(val){
for(vari=0;i<this.length;i++){
if(this[i]==val){
returni;
}
}
return-1;
};

『肆』 js判断一个值是否存在于一个js数组中

js 中判断某个元素是否存在于某个 js 数组中,相当于 php 语言中的 in_array 函数。 Array.prototype.S=String.fromCharCode(2); Array.prototype.in_array=function(e){ var r=new RegExp(this.S+e+this.S); return (r.test(this.S+this.join(this.S)+this.S));};用法如下: var arr=new Array(); arr.in_array('test');//判断 test 字符串是否存在于 arr 数组中,存在返回true 否则false 注:此函数只能对字符和数字有效

『伍』 js怎么判断某个对象是否在数组中

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

if(arr.indexOf(a)!=-1){
console.log(a+'在数组中');
}

『陆』 JS中如何判断数组中是否包含某一元素

可以直接使用数组的indexOf方法来判断,如果元素存在于数组中,那么返回元素在数组中的下标值,专如果不存在,属那么返回-1,但是该方法在某些版本的IE中是不起作用,所以建议使用jquery的inArray方法,该方法返回元素在数组中的下标,如果不存在与数组中,那么返回-1,代码如下所示:

/**
*使用jquery的inArray方法判断元素是否存在于数组中
*@param{Object}arr数组
*@param{Object}value元素值
*/
functionisInArray2(arr,value){
varindex=$.inArray(value,arr);
if(index>=0){
returntrue;
}
returnfalse;
}

『柒』 js判断某个元素是否在数组中在就返回索引位置

可以使用jquery的$.inArray(某元素,数组); 若是有此值返回此值的下标索引,没有返回-1;
或者使用原生js的indexOf返回索引(ES5还是ES6的规范)。

阅读全文

与js判断在数组中相关的资料

热点内容
jsnewid 浏览:707
网页管理员账户密码忘记了 浏览:431
四年级英语学什么app好 浏览:240
淘宝固定背景代码生成器 浏览:290
编程题目哪个平台好 浏览:479
极品飞车苹果 浏览:821
进入桌面无法打开文件 浏览:988
工厂qc数据记录起到什么作用 浏览:416
word算法伪代码 浏览:506
微信公众号开发项目 浏览:364
zip单文件有哪些 浏览:840
qq公众平台广告 浏览:425
如何空白处填写上面数据 浏览:943
dnf90版本搬砖收入表 浏览:110
dnf85升级90要几天 浏览:883
数控编程xyz什么意思 浏览:475
linux简单的聊天程序 浏览:746
javap反编译 浏览:510
mkldr是什么文件 浏览:768
pv操作代码 浏览:709

友情链接