jQuery中inArray方法注意事项分析

本文分析讲述了jQuery中inArray方法注意事项。分享给大家供大家参考,具体如下:

jquery为web开发者提供了很大的便捷,本文写作的目地是提醒大家慎重jquery中的inArray方法。

大家都知道javascript是一种弱类型语言,对于数字类型和字符类型,可以随意切换(例如:1+""="1"),下面开始说主题:

jquery的一个方法inArray(ele, array)是判断ele是否在array中存在,返回值是该元素第一次出现在数组array中的下标,没有时返回-1。

例如:

var a = 1;
var array = [1,2,3];
var b = $.inArray(a, array);

此时,b等于0。

但是,如果此时将a="1";,那么,再执行一下:

b = $.inArray(a, array);

此时,b等于-1。这将带来一个问题,因为有的人可能只希望得到这样的判断:"1" == 1,该逻辑表达式实在在javascript环境中,返回的是true,但是,在inArray中,返回的确实false,所以,如果一个数组中,存放的是非对象变量,尤其是对数字进行判断时,最好采用原始的判断方法。

也可以采用正则表达式来验证如下:

var a = 1;
var reg = new RegExp("(^"+a+",)|(^"+a+"$)|(,"+a+",)|(,"+a+"$)");
var array = [1,2,3,4];
reg.test(array.toString());// true
a = "1";
reg.test(array.toString());// true

好了,就说这么多~~

更多关于jQuery数组相关内容感兴趣的读者可查看本站专题:《jquery数组用法总结》

希望本文所述对大家jQuery程序设计有所帮助。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。