导航:首页 > 编程语言 > 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判断在数组中相关的资料

热点内容
疯狂安卓讲义第二版代码 浏览:420
老炮儿三小时版本下载 浏览:313
matlab怎么调试程序 浏览:2
winxp升级win7的危害 浏览:496
网络没连上却不可用是怎么回事 浏览:752
社区版本 浏览:738
怎么查微信公众号什么时候开通的 浏览:717
安装三菱编程闪退怎么回事 浏览:488
手机怎么创建word文件格式 浏览:694
c语言连接数据库 浏览:887
数据线粉色和白色哪个是正 浏览:775
vb编程应注意什么 浏览:855
js循环添加控件 浏览:615
学习计算机网络的作用 浏览:235
access数据库最新内容怎么调 浏览:203
上古世纪新版本跑商 浏览:267
iphone5国际漫游设置 浏览:107
ipodwatch如何安装app 浏览:114
谁有微信抢红包的群号 浏览:872
word07页码从任意页开始 浏览:791

友情链接