[英]How to find out if an object is an array in javascript?
在瀏覽關於“W3Schools”的 javascript 教程時,我發現這段代碼解釋了如何確定對象是否為數組。
function isArray(myArray) {
return myArray.constructor.toString().indexOf("Array") > -1;
}
我不明白該特定行是如何執行的。
即使這個問題已經接受了關於使用Array.isArray()
的正確方法的答案
問題是關於從 W3Schools 執行特定代碼,因此出於教育原因,代碼示例中發生了什么。
myArray.constructor
是對對象構造函數的引用。 更多鏈接
考慮到這一點,我們可以繼續:
myArray.constructor.toString()
將導致
function Array() { [本機代碼] }
函數indexOf
將返回字符串序列在其他字符串序列中的位置。 如果找到我們正在尋找的字符串,它將返回int
位置。 如果不是indexOf
將返回 -1。
函數可以描述為如果對象的字符串化構造函數中“數組”的位置大於-1,則對象是數組。
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.