重學javascript之如何識別數組

當面試被問到如何區分數組的時候,我想不少基礎不紮實的同窗第一時間想到的是typeof,可是typeof對於數組是不可行的,由於數組屬於對象es6

let myArray = ['banner','apple','orange']
typeof(myArray)        //Object複製代碼

識別數組的方法以下面試

一、使用es6提供的Array.isArray()方法數組

let myArray = ['banner','apple','orange']
Array.isArray(myArray)    //true複製代碼

二、建立本身的isArray()函數來識別bash

function isArray(x){
    return x.constructor.toString().indexOf('Array') != -1;
}

let myArray = ['banner','apple','orange']
isArray(myArray)            //true複製代碼

若參數爲數組,則會返回true;另外一種說法:若對象原型中有Array這個單詞,則爲trueapp

三、假如對象是由給定的構造器建立,則instanceof運算符返回true函數

let myArray = ['banner','apple','orange']
myArray instanceof Array     //true複製代碼

爲true則是數組ui

相關文章
相關標籤/搜索