JS如何校验一个变量是不是数组?

a32843129 前端 2019-06-14

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

评论