首页 > 代码库 > 关于jQuery的inArray 方法介绍
关于jQuery的inArray 方法介绍
转自:http://www.jb51.net/article/28486.htm
代码:
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>main</title></head><body><script type="text/javascript" src="jquery-1.8.3.min.js"></script><script>$(function() { var d = "1,3,43,23,54,67"; var arr = d.split(‘,‘); alert($.inArray(3, arr) == -1);// true alert($.inArray("3", arr) == -1);// false var arr = eval(‘[‘ + d + ‘]‘); alert($.inArray(3, arr) > -1);// true});</script></body></html>
jquery inarray()函数详解:
jquery.inarray(value,array)确定第一个参数在数组中的位置(如果没有找到则返回 -1 )。 determine the index of the first parameter in the array (-1 if not found). 返回值jquery 参数 value (any) : 用于在数组中查找是否存在 array (array) : 待处理数组。
代码:
var testarr=[{"a":"0"},{"b":"1"},{"c":"2"}];alert($.inarray({"a":"0"},testarr)); 说这个值总是返回-1;var obj = {‘m‘ : ‘1‘};var arr = [obj, ‘1‘, 2];alert($.inarray(obj, arr));这个返回值正常。
这是对象是引用类型的缘故。
引用类型的特性可以用一小段程序演示:
代码如下:
var obj = {"a" : 0};var obj1 = {"a" : 0};alert(obj == obj1);// falsevar obj = {"a" : 0};var obj1 = obj;alert(obj == obj1); // true
为此我们看下jquery中inAarry函数的源码:
/*@param elem 用于在数组中查找的项@param array 待查找的数组*/inArray: function(elem, array) { //判断浏览器是否支持javascript1.6新增的array原生的indexOf if(array.indexOf) { return array.indexOf(elem); } var i, len = array.length; //按照array的长度进行遍查找 for(i = 0; i < len; i++) { if(array[i] === elem ) { // 如果array[i]的元素和elem相同 return i; } } // 没有找到的话就返回-1 return -1;}
注意"==="符号
关于jQuery的inArray 方法介绍
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。