首頁  >  文章  >  web前端  >  jquery怎麼判斷物件是否為數組

jquery怎麼判斷物件是否為數組

coldplay.xixi
coldplay.xixi原創
2020-11-19 11:46:292268瀏覽

jquery判斷物件是否為陣列的方法:將需要判斷的變數【$.isArray()】傳入方法中,語法為【$.isArray( object ) / jQuery.isArray( object )】。

jquery怎麼判斷物件是否為數組

jquery判斷物件是否為陣列的方法:

$.isArray()函數用於判斷指定參數是否為一個陣列。只需要將需要判斷的變數傳入方法即可。

語法$.isArray( object ) / jQuery.isArray( object )

參數 object 任意型別 需要判斷的任意值。

傳回值 true/false

<!DOCTYPE html>
<html>
<head>
<title>jq中的isArray方法分析</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<div class="warp">
</div>
<script type="text/javascript">
//下面是从jquery 1.9中抽出来的源码
var class2type = {},core_toString = class2type.toString;
//在firefox chrome IE9 IE10中都支持 Array.isArray
//使用方法 Array.isArray([])   返回 true
//但是在IE7或更低版是不支持的
var isArray = Array.isArray || function( obj ) {
        return type(obj) === "array";
};
/*
这一行也不能忽略  948行
jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) {
    class2type[ "[object " + name + "]" ] = name.toLowerCase();
});
一开始没关注这段代码,结果弄了半天 type([])都是返回 object
那这段代码用JS写出来如下
*/
var arr = "Boolean Number String Function Array Date RegExp Object Error".split(" ");
for(var i in arr){
    class2type[ "[object " + arr[i] + "]" ] = arr[i].toLowerCase();
};
var  type = function( obj ) {
    if ( obj == null ) {
        return String( obj );
    }
    return typeof obj === "object" || typeof obj === "function" ?
        class2type[ core_toString.call(obj) ] || "object" :
        typeof obj;
    // 相当于return (typeof obj === "object" || typeof obj === "function")?(class2type[ core_toString.call(obj) ] || "object"): typeof obj;
};
//这样就可以了
//后来在网上搜索了一下 发现了网上提供的方案是   return Object.prototype.toString.call(obj) === &#39;[object Array]&#39;;
//详情查看 http://sofish.de/1591
</script>
</body>
</html>

相關免費學習推薦:JavaScript(影片)

#

以上是jquery怎麼判斷物件是否為數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn