真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JavaScript中怎么檢查對(duì)象是否為數(shù)組

JavaScript中怎么檢查對(duì)象是否為數(shù)組,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

創(chuàng)新互聯(lián)專(zhuān)注于惠安企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城網(wǎng)站制作。惠安網(wǎng)站建設(shè)公司,為惠安等地區(qū)提供建站服務(wù)。全流程定制制作,專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)

JS 中的非原始數(shù)據(jù)類(lèi)型都是對(duì)象(函數(shù)具有自己的類(lèi)型,但它們也是對(duì)象)。因此,僅使用typeof運(yùn)算符來(lái)判斷是不夠的:

let result = { subject: 'Science', marks: 97 }; let numbers = [1, 2, 3, 4, 5];  console.log(typeof result); // Object console.log(typeof numbers); // Object

在本文中,我們來(lái)研究如何在 JS 中檢查給定變量或值是否為數(shù)組。

使用 Array.isArray() 方法

顧名思義,此方法可用于識(shí)別給定參數(shù)是否為數(shù)組,它返回一個(gè)布爾值(true/false)和結(jié)果。

例如,使用以下變量,Array.isArray()方法可以正確判斷是否為數(shù)組:

let result = { subject: "Science", marks: 97 }; // Object let numbers = [1, 2, 3, 4, 5]; // Array let name = "Mark"; // String let names = new Array("Jill", "Jane", "Jacqueline");  console.log(Array.isArray(result)); // false console.log(Array.isArray(numbers)); // true console.log(Array.isArray(name)); // false console.log(Array.isArray(names)); // true

使用對(duì)象的構(gòu)造函數(shù)屬性

每個(gè)對(duì)象都有一個(gè)constructor  屬性(除了使用object.create(null)創(chuàng)建的對(duì)象,這種情況不太可能出現(xiàn))。我們可以直接將constructor 屬性與 JS  的構(gòu)造函數(shù)進(jìn)行比較。因此,如果我們將它與數(shù)組構(gòu)造函數(shù)進(jìn)行比較,就會(huì)知道它是否是數(shù)組。

注意:構(gòu)造函數(shù)是用來(lái)初始化對(duì)象的函數(shù)。如果使用new關(guān)鍵字創(chuàng)建了一個(gè)對(duì)象,那么使用的是構(gòu)造函數(shù)。例如,在let myArray = new  Array(1,2)中,使用的構(gòu)造函數(shù)是Array()。

可以使用constructor 屬性來(lái)確定變量是否是數(shù)組:

let result = { subject: "Science", marks: 97 }; let numbers = [1, 2, 3, 4, 5]; let name = "Mark"; let names = new Array("小智", "小力", "小吳");  console.log(result.constructor === Array); // false console.log(numbers.constructor === Array); // true console.log(name.constructor === Array); // false console.log(names.constructor === Array); // true

使用 instanceof 運(yùn)算符instanceof運(yùn)算符檢查是否在對(duì)象的原型鏈中找到構(gòu)造函數(shù)。

像typeof運(yùn)算符一樣,它返回布爾值。要確定變量是否為數(shù)組,可以使用instanceof,如下所示:

let result = { subject: "Science", marks: 97 }; let numbers = [1, 2, 3, 4, 5]; let name = "Mark"; let names = new Array("小智", "小力", "小吳");  console.log(result instanceof Array); // false console.log(numbers instanceof Array); // true console.log(name instanceof Array); // false console.log(names instanceof Array); // true

使用 Object.prototype.call() 方法

JS  中的所有對(duì)象均從主原型對(duì)象繼承屬性,該對(duì)象命名為Object.prototype。Object.prototype中存在toString()方法,這是每個(gè)對(duì)象都有自己的toString()方法的原因,  Object.prototype的 toString()方法顯示對(duì)象的類(lèi)型。

對(duì)象的call()方法執(zhí)行一個(gè)函數(shù),但將this 值更改為傳入?yún)?shù)的對(duì)象,例如,它允許一個(gè)對(duì)象使用另一個(gè)對(duì)象的方法。

因此,我們可以使用Object.prototype.toString()來(lái)打印類(lèi)型,然后使用call()來(lái)處理另一個(gè)對(duì)象,然后比較這個(gè)字符串值以確定它是否是一個(gè)數(shù)組。

let result = { subject: "Science", marks: 97 }; let numbers = [1, 2, 3, 4, 5]; let name = "Mark"; let names = new Array("小智", "小力", "小吳");  console.log(Object.prototype.toString.call(result)); // [object Object] console.log(Object.prototype.toString.call(numbers)); // [object Array] console.log(Object.prototype.toString.call(name)); // [object String] console.log(Object.prototype.toString.call(names)); // [object Array]  console.log(Object.prototype.toString.call(result) === "[object Array]"); // false console.log(Object.prototype.toString.call(numbers) === "[object Array]"); // true console.log(Object.prototype.toString.call(name) === "[object Array]"); // false console.log(Object.prototype.toString.call(names) === "[object Array]"); // true

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。


本文標(biāo)題:JavaScript中怎么檢查對(duì)象是否為數(shù)組
鏈接地址:http://weahome.cn/article/ghidei.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部