簡體   English   中英

如何找出一個對象是否是javascript中的數組?

[英]How to find out if an object is an array in javascript?

在瀏覽關於“W3Schools”的 javascript 教程時,我發現這段代碼解釋了如何確定對象是否為數組。

function isArray(myArray) {
    return myArray.constructor.toString().indexOf("Array") > -1;
}

我不明白該特定行是如何執行的。

鏈接到 W3School 的相關頁面

即使這個問題已經接受了關於使用Array.isArray()的正確方法的答案

問題是關於從 W3Schools 執行特定代碼,因此出於教育原因,代碼示例中發生了什么。

myArray.constructor是對對象構造函數的引用。 更多鏈接

考慮到這一點,我們可以繼續:

myArray.constructor.toString()

將導致

function Array() { [本機代碼] }

函數indexOf將返回字符串序列在其他字符串序列中的位置。 如果找到我們正在尋找的字符串,它將返回int位置。 如果不是indexOf將返回 -1。

函數可以描述為如果對象的字符串化構造函數中“數組”的位置大於-1,則對象是數組。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM