Array.isArray()方法用于确定给定值是否为数组。该方法返回一个布尔值,即true或false。
该方法的判断依据是检查数组的原型链中是否包含Array构造函数。具体实现方法如下:
if(!Array.isArray) { Array.isArray = function(arg) { return Object.prototype.toString.call(arg) === '[object Array]'; }; }
以上代码首先判断当前环境中是否存在Array.isArray方法,如果不存在,则使用上述方法对其进行实现。具体来说,该方法使用Object.prototype.toString.call(arg)来检测给定值的类型,并比较其值是否与"[object Array]"相等。如果相等则说明给定值是一个数组,否则不是数组。
示例: const arr = [1, 2, 3]; console.log(Array.isArray(arr)); // true
const str = "hello"; console.log(Array.isArray(str)); // false
const obj = {name: "Tom", age: 18}; console.log(Array.isArray(obj)); // false
const fn = function() {}; console.log(Array.isArray(fn)); // false