面試題 js怎麼判斷是否是陣列?

2021-10-20 05:47:19 字數 958 閱讀 1855

js怎麼判斷是否是陣列?

方法一:isarray()陣列自帶的判斷方法

let a =[1

,2,3

];array.

isarray

(a);

//true

方法二:instanceof操作符

let a =[1

,2,3

];a instanceof

array

;//true

方法三:constructor.tostring()方法

let a =[1

,2,3

]//把constructor轉換成字串,然後通過indexof去判斷是否包含array

a.constructor.

tostring()

.indexof

("array"

)!==-1

;//true

方法四:object.prototype.tostring.call(a).indexof(「array」)

let a =[1

,2,3

];//和上面乙個意思,都是轉換成字串,然後判斷是否包含array,

//有就會返回下標位置

/* object.prototype.tostring會取物件的乙個內部屬性[[class]],

大概會返回乙個類似於"[object array]"這樣的字串,注意,

這裡這個是內部屬性,外部是無法訪問的,然後再配合call方法,

改變tostring的this指向,也就是指向a陣列

*/object.prototype.tostring.

call

(a).

indexof

("array"

)

js陣列相關面試題

昨天去人人網面試,面試我的小姐姐讓我手寫一些關於陣列操作的 我都寫出來了,但是面試官應該是不滿意我的實現方式,後來經過面試官的提示,又寫出了第二種方法,接下來就將這幾道面試題整理在下面。第一題 1,2,3,4,5,6 如何轉換成 1,2,3,4,5,6 我一開始的思路很簡單,就是定義乙個全域性變數的...

js判斷是否是陣列,變數是否存在

let arr 1 方法一 isprototypeof 函式 用於指示物件是否存在於乙個物件的原型鏈中。console.log array.prototype.isprototypeof arr true 方法二 instanceof 變數 instanceof 型別 console.log arr...

面試題 判斷鍊錶是否相交

今天看了 july的一篇經典文章 程式設計師程式設計藝術 第九章 閒話鍊錶追趕問題 因為現在一直複習資料結構有關鍊錶的演算法,順便總結下,學習下july大牛的判斷鍊錶是否相交。出處 題目 給出兩個單向鍊錶的頭指標,判斷是否相交。下面是july文章上面的解法 分析 這是來自程式設計之美上的微軟亞院的一...