js判斷對象還是數組


1.對於Javascript 1.8.5(ECMAScript 5),變量名字.isArray( )可以實現這個目的

var a=[];
var b={};
Array.isArray(a);//true
Array.isArray(b)//false

2.如果你只是用typeof來檢查該變量,不論是array還是object,都將返回‘objec'。 此問題的一個可行的答案是是檢查該變量是不是object,

並且檢查該變量是否有數字長度(當為空array時長度也可能為0,object的長度為undefined)。

var a=[];
var b={};
typeof a === 'object' && !isNaN(a.length)//true
typeof b === 'object' && !isNaN(b.length)//false

3.調用toString( )方法試着將該變量轉化為代表其類型的string。 

var a=[];
var b={};
Object.prototype.toString.call(a)  === '[object Array]'//true
Object.prototype.toString.call(b)  === '[object Array]'//false

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM