判断JavaScript中的一个变量的数据类型,可以使用typeof操作符,用来判断基本数据类型,但是对于数组类型,typeof返回的结果是"object",无法区分,我们需要使用其他方法来判断数组类型。
以下是检测数组类型的两种常用方法:
方法一:使用Array.isArray方法
Array.isArray方法是ES5中新增的方法,用于判断传入的参数是否为数组类型,通过返回结果的true或false来判断。
let arr = [1, 2, 3];
console.log(Array.isArray(arr)); // 输出true
let obj = {"name": "张三", "age": 20};
console.log(Array.isArray(obj)); // 输出false
可以看到,当传入的参数是数组时,返回值为true,否则返回false。
方法二:使用toString方法
将对象转换为字符串后,数组类型会以"[object Array]"的形式显示,我们可以通过判断返回字符串是否包含"[object Array]"来判断传入参数是否为数组类型,这种方法可以支持所有版本的浏览器。
let arr = [1, 2, 3];
console.log(Object.prototype.toString.call(arr) === "[object Array]"); // 输出true
let obj = {"name": "张三", "age": 20};
console.log(Object.prototype.toString.call(obj) === "[object Array]"); // 输出false
可以看到,当传入的参数是数组时,返回值为true,否则返回false。
综上所述,我们可以使用以上两种方法来判断JavaScript中的一个变量是否为数组类型,其中Array.isArray方法是ES5中新增的方法,使用方便;toString方法可以支持更多的浏览器版本。
本文链接:http://task.lmcjl.com/news/10574.html