JavaScript 实现Array.isArray

实现效果

实现原生 JavaScript 中的Array.isArray()方法,使用如下:

console.log(Array.isArray([])); // true
console.log(Array.isArray({
    
    })); // false
console.log(Array.isArray(123)); // false
console.log(Array.isArray('123')); // false

实现过程

通过Object.prototype.toString.call(),获取数据类型

console.log(Object.prototype.toString.call('123')); // [object String]
console.log(Object.prototype.toString.call([])); // [object Array]
console.log(Object.prototype.toString.call({
    
    })); // [object Object]
console.log(Object.prototype.toString.call(/123/)); // [object RegExp]
console.log(Object.prototype.toString.call(123)); // [object Number]
console.log(Object.prototype.toString.call(new Date())); // [object Date]

所以,可以通过Object.prototype.toString.call()得到数据类型,判断是否为[object Array]即可。

Array对象中添加自己的方法myIsArray()

Array.myIsArray = function(obj) {
    
    
    return Object.prototype.toString.call(obj) === '[object Array]';
}

验证

console.log(Array.myIsArray([])); // true
console.log(Array.myIsArray({
    
    })); // false
console.log(Array.myIsArray(123)); // false
console.log(Array.myIsArray('123')); // false

完成!

猜你喜欢

转载自blog.csdn.net/Jack_lzx/article/details/111197035