Heim  >  Artikel  >  Web-Frontend  >  关于jQuery的inArray 方法介绍_jquery

关于jQuery的inArray 方法介绍_jquery

WBOY
WBOYOriginal
2016-05-16 18:01:091471Durchsuche

例如:

复制代码 代码如下:

$.get('aaaaa.ashx',null,function(d){
  // 假设d 返回 的值为 1,3,43,23,54,67
var arr = d.split(',');
  $.inArray(3,arr) ==-1 //true
//为什么啊
  //如果写成这样的
  var arr = eval('['+d+']');
$.inArray(3,arr) >-1 //true
});

这是为什么呢? 望知道的朋友跟贴回复下.
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);// false;---------------------
var obj={"a":0};
var obj1=obj;
alert(obj==obj1);
// true;
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn