欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

利用JS判断元素是否为数组的方法示例

程序员文章站 2022-03-10 23:45:50
此处提供可供验证的数据类型let a = [1,2,3,4,5,6]; let b = [ {name: '张飞', type: 'tank'}, {name: '关羽', type: 'soldie...

此处提供可供验证的数据类型

let a = [1,2,3,4,5,6];
 let b = [
 {name: '张飞', type: 'tank'},
 {name: '关羽', type: 'soldier'},
 {name: '刘备', type: 'shooter'},
 ];
 let c = 123;
 let d = 'www';
 let e = {name: '安琪拉', type: 'mage'};

1.通过array.isarray()

array.isarray()能判断一个元素是否为数组,如果是就返回true,否则就返回false

console.log(array.isarray(a)); // true
 console.log(array.isarray(b)); // true
 console.log(array.isarray(c)); // false
 console.log(array.isarray(d)); // false
 console.log(array.isarray(e)); // false

2.通过instanceof判断

instanceof运算符用于检测某个实例是否属于某个对象原型链中

console.log(a instanceof array); // true
 console.log(b instanceof array); // true
 console.log(c instanceof array); // false
 console.log(d instanceof array); // false
 console.log(e instanceof array); // false

还可以用于判断对象

console.log(e instanceof object); // true

判断是否为数组就是检测arrray.prototype属性是否存在于变量数组(a,b)的原型链上,显然a,b为数组,拥有arrray.prototype属性,所以为true

3.通过对象构造函数的constructor判断

obiect的每个实例都有构造函数constructor,保存着创建每个对象的函数

利用JS判断元素是否为数组的方法示例

console.log(a.constructor === array); // true
console.log(b.constructor === array); // true

以下包含判断其它的数据类型验证

console.log(c.constructor === number); // true
console.log(d.constructor === string); // true
console.log(e.constructor === object); // true

4.通过object.prototype.tostring.call()判断

通过原型链查找调用

console.log(object.prototype.tostring.call(a) === '[object array]'); // true
console.log(object.prototype.tostring.call(b) === '[object array]'); // true

以下包含判断其它的数据类型验证

console.log(object.prototype.tostring.call(c) === '[object number]'); // true
console.log(object.prototype.tostring.call(d) === '[object string]'); // true
console.log(object.prototype.tostring.call(e) === '[object object]'); // true

5.通过对象原型链上的isprototypeof()判断

array.prototype属性为array的构造函数原型,里面包含有一个方法 isprototypeof() 用于测试一个对象是否存在于;另一个对象的原型链上。

console.log(array.prototype.isprototypeof(a)); // true
 console.log(array.prototype.isprototypeof(b)); // true
 console.log(array.prototype.isprototypeof(c)); // false
 console.log(array.prototype.isprototypeof(d)); // false
 console.log(array.prototype.isprototypeof(e)); // false

总结

到此这篇关于利用js判断元素是否为数组的文章就介绍到这了,更多相关js判断元素为数组内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关标签: js 判断 元素