JS如何校验一个变量是不是数组?乍一看这个问题很简单,相信很多前端大牛很笨不屑一顾。不过经过众多面试经历,答对的人还真不多……
一般人反映直接用 typeof 运算符,但是这个运算符并不能判断一个变量是数组。
let arr = [1,2,4];
console.log(typeof(arr)) //会输出object而不是array
其实判断变量arr是不是数组很多种方法,常用的可以是instanceof 运算符。
let arr = [1,2,4];
console.log(arr instanceof Array) //会输出true 注意 Array 大写
let obj = {"name":"Jim"};
console.log(obj instanceof Array) //会输出false
let num = 123;
console.log(num instanceof Array) //会输出false