首先宣告乙個陣列var arr= ;
js中typeof只能檢測簡單資料型別 如果typeof arr,會返回object,顯然不能判斷到底是不是乙個陣列
那麼js中用什麼方法檢測陣列呢?
方法1: isarray()方法
array.isarray(arr);
但是這個方法有相容性 ie瀏覽器只有ie9以上才支援
方法2:instanceof 運算子
arr instanceof array
instanceof 運算子的作用方法3:方法借用a instanceof b 判斷b的prototype屬性值是否在a的原型鏈上 也可以是判斷a是不是b的例項 返回布林值
object.prototype.tostring.call(arr)===[object,array]
如果返回true證明是陣列
call方法為方法借用 a.call(b) 意思就是將a中的this指向b,b如果是陣列的話,就會去自身去找tostring()方法,自身找不到就去它的原型上去找,如果找到返回[object,array]方法4:
arr.constructor
看返回的是不是名字為array的建構函式
js中, 每個物件都有乙個constructor屬性,它引用了初始化該物件的建構函式,常用於判斷未知物件的型別。
JS陣列判斷,方法
怎麼判斷乙個物件是不是陣列?首先可以用 es5 提供的 isarray 方法進行判斷 注意 array.isarray是es 5.1推出的,不支援ie6 8,所以在使用的時候也應注意相容問題。可以使用 instanceof array 來判斷,不過這種方式存在問題,比如當存在多個全域性物件 如使用i...
JS中陣列的方法
1.檢測陣列 array.isarray 2.轉換方法 1.tolocalestring 建立乙個由陣列中的每個值的字串拼接而成的乙個以逗號分隔的字串。為了取得每一項的值,呼叫的是每一項的tolocalestring 方法。2.tostring 返回乙個由陣列中的每個值的字串拼接而成的乙個以逗號分隔...
js中陣列的方法
const a 1,155 3 var b a.map x x 1 返回乙個新陣列,不改變原有陣列 var b a.filter x x 1 返回乙個過濾後的新陣列,不改變原有陣列 var b a.find x x 1 返回第乙個找到的值,不改變原有陣列 var b a.some x x 1 返回是...