[导读] jquery inarray() 函数详解jquery inarray(value,array)确定第一个参数在数组中的位置(如果没有找到则返回 -1 )。
今天有朋友问了个问题,如下
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));
这个返回值正常。
后来才意识到,对象是引用类型的缘故。
例子:把选中班级的id 压进数组,删除选中,把对应id从数组中移除 $(document).on('click','.js_class_Choise > li',function(){ var class_id = $(this).attr("classid"); if ($(this).hasClass("bg6")) { return ; } $(this).toggleClass("bg5").toggleClass("white"); if($(this).hasClass("bg5")){ classID.push($(this).attr("classid")); }else { var j = $.inArray(class_id, classID); j >= 0 && classID.splice(j, 1); } });