當面試被問到如何區分數組的時候,我想不少基礎不紮實的同窗第一時間想到的是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