判斷一個數據是否爲數組

怎麼判斷一個數組是數組呢?

其實這個也是一個常考的題目。在面試的過程中,更是一個高頻的面試題

1、數組方法 isArray()

Array.isArray(variable);

這是js的一個方法,專門用來測試對象是否是Array類型
舉例:

在這裏插入圖片描述
由例子可知,此方法是即爲便利的,直接就能對數據的類型進行判斷。

2、原型 prototype + toString + call

Object.prototype.toString.call(variable).indexOf(‘Array’) !== -1;

Object.prototype.toString.call() 使用了 toString方法,所以返回值是一個字符串

var arr = [1,2]
var obj = {a:1}
Object.prototype.toString.call(arr)  //"[object Array]"
Object.prototype.toString.call(obj)  //"[object Object]"

所以要使用 indexOf() 來進行二次判斷,看返回值有沒有 Array這個關鍵字

Object.prototype.toString.call(arr).indexOf('Array')   // 8
Object.prototype.toString.call(arr).indexOf('Object')  // -1

Object.prototype.toString.call(arr).indexOf('Array') !==-1  //true
Object.prototype.toString.call(arr).indexOf('Object') !==-1 //false

這個方法比之 第一種,稍顯麻煩一些,但是也是可以精確判斷是否爲數組

instanceof

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章