`
happyqing
  • 浏览: 3205018 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jQuery.isArray 和jQuery.inArray

阅读更多

 

jQuery.isArray(obj) 是 jQuery 1.3 新增。测试对象是否为数组。  返回值:Boolean
参数 : objObject用于测试是否为数组的对象
示例 :检测是否为数组
jQuery 代码:
$("b").append( " + $.isArray([]) );结果:
<b>true</b>

jQuery.inArray(value, array) 确定第一个参数在数组中的位置,从0开始计数(如果没有找到则返回 -1 )。返回值:Number
参数 :
valueAny 用于在数组中查找是否存在
arrayArray 待处理数组。

示例 : 查看对应元素的位置
jQuery 代码:
var arr = [ 4, "Pete", 8, "John" ];
jQuery.inArray("John", arr);  //3
jQuery.inArray(4, arr);  //0
jQuery.inArray("David", arr);  //-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));

这个返回值正常。
后来才意识到,对象是引用类型的缘故。
引用类型的特性可以用一小段程序演示

复制代码 代码如下:
var obj={"a":0};var obj1={"a":0};
alert(obj==obj1);// false;---------------------
var obj={"a":0};
var obj1=obj;
alert(obj==obj1);
// true;

 

所以说inArray能判断简单对象,引用对象只能判断源对象,新建的不行。

其中的原理只是简单 ==

分享到:
评论

相关推荐

    jQuery 1.9.1源码分析系列(十四)之常用jQuery工具

    在数组操作方面,jQuery.extend()和jQuery.fn.extend()函数用于合并对象,jQuery.grep()用于根据过滤函数来过滤数组元素,jQuery.inArray()用于在数组中搜索元素并返回其索引。此外,jQuery.isArray()可以判断参数...

    jQuery基础

    var // Will speed up references to window, and allows munging its name. window = this, ... return this.setArray(jQuery.isArray( selector ) ? selector : jQuery.makeArray(selector)); },

    jQuery 1.5 API 中文版

    numjQuery.inArray( val, array ) arrjQuery.merge( first, second ) fnjQuery.noop fnjQuery.proxy( fn, scope ), jQuery.proxy( scope, name ) fnjQuery.sub( )1.5+ arrjQuery.unique( array ) strjQuery.trim( ...

    jQuery 1.3 API 参考文档中文版 html

    + 工具inArray函数 * noConflict注释 2008-05-27 22:48:24 +0800 + 更新ajax部分的内容,与官网保持一致 2008-05-27 20:39:03 +0800 * 对scroll的示例代码错误的修正 * 由$(document).scroll();到$(window).scroll...

    jQuery1.3API参考文档中文版

    + 工具inArray函数 * noConflict注释 2008-05-27 22:48:24 +0800 + 更新ajax部分的内容,与官网保持一致 2008-05-27 20:39:03 +0800 * 对scroll的示例代码错误的修正 * 由$(document).scroll();到$(window).scroll...

    jQuery 1.4.1 中文参考

    - `$.inArray()`:查找数组中的元素。 - `$.noop()`、`$.proxy()`:辅助函数。 - `$.isArray()`、`$.isFunction()`、`$.isEmptyObject()`、`$.isPlainObject()`:类型检测。 - `$.trim()`:字符串修剪。 - `$.param...

    从零开始学习jQuery (2).

    - **`$.inArray()`**:用于查找数组中指定元素的位置索引。如果未找到,则返回`-1`。例如: ```javascript var fruits = ['apple', 'banana', 'cherry']; var index = $.inArray('banana', fruits); console....

    jquery1.11.0手册

    jQuery 1.11.0 速查表 核心 jQuery 核心函数 jQuery([sel,[context]]) jQuery(html,[ownerDoc])1.8* jQuery(callback) jQuery.holdReady(hold) jQuery 对象访问 ... $.grep(array,fn,[invert]) ...

    Jquery 1.3 简体中文手册

    $.inArray(value, array) $.merge(first, second) $.unique(array) 测试操作 $.isArray(obj) $.isFunction(obj) 字符串操作 $.trim(str) URL $.param(obj) 关于 关于jQuery 1.3 版翻译 关于jQuery 1.2 版...

    JQuery 1.3 中文参考手册

    $.inArray(value, array) $.merge(first, second) $.unique(array) 测试操作 $.isArray(obj) $.isFunction(obj) 字符串操作 $.trim(str) URL $.param(obj) 关于 关于jQuery 1.3 版翻译 关于jQuery 1.2 版...

    Jquery 1.11.0 API

    `grep()`则用于过滤数组,`inArray()`检查元素是否存在于数组中。 八、实用工具函数 jQuery提供了一些实用工具函数,如`$.extend()`用于合并对象,`$.trim()`用于去除字符串两端的空白,`$.isFunction()`检查是否为...

    jQuery1.4 API

    $.inArray(value, array) $.toArray() $.merge(first, second) $.unique(array) $.parseJSON(json) 函数操作 $.noop $.proxy(function, scope) 测试操作 $.contains(container, contained) $.isArray(obj) $.is...

    jqueryAPI

    18. **$.inArray()**:检查元素是否存在于数组中,返回索引位置或-1。 19. **$.isFunction()** 和 **$.isArray()**:检测变量是否为函数或数组类型。 以上只是jQuery API中的一部分内容,实际的参考文档包含更多...

    jquery需要的所有js文件

    widgetEventPrefix:a[e][b].prototype.widgetEventPrefix||b,widgetBaseClass:f},d),a.widget.bridge(b,a[e][b])},a.widget.bridge=function(c,d){a.fn[c]=function(e){var f=typeof e=="string",g=Array.prototype....

    jQuery设计思想

    jQuery有一系列工具方法,如`$.each()`, `$.extend()`, `$.trim()`, `$.inArray()`, `$.isArray()`等,用于遍历、合并对象、字符串处理和类型检查。 **七、事件操作** jQuery的事件处理机制使得绑定和触发事件变得...

Global site tag (gtag.js) - Google Analytics