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


Posted in Javascript onJanuary 08, 2021

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

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判断元素为数组内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
js cookies 常见网页木马挂马代码 24小时只加载一次
Apr 13 Javascript
有趣的JavaScript数组长度问题代码说明
Jan 20 Javascript
jquery.tmpl JQuery模板插件
Oct 10 Javascript
Jquery插件编写简明教程
Mar 25 Javascript
js日期联动示例
May 02 Javascript
JS中Location使用详解
May 12 Javascript
canvas实现流星雨的背景效果
Jan 13 Javascript
原生node.js案例--前后台交互
Feb 20 Javascript
Vue.js中使用iView日期选择器并设置开始时间结束时间校验功能
Aug 12 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
Aug 25 Javascript
微信小程序接入vant Weapp组件的详细步骤
Oct 28 Javascript
javascript Number 与 Math对象的介绍
Nov 17 Javascript
JS实现页面侧边栏效果探究
Jan 08 #Javascript
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
Jan 08 #Vue.js
vue-quill-editor插入图片路径太长问题解决方法
Jan 08 #Vue.js
详解Typescript里的This的使用方法
Jan 08 #Javascript
Node.js 中如何收集和解析命令行参数
Jan 08 #Javascript
vue编写简单的购物车功能
Jan 08 #Vue.js
three.js中多线程的使用及性能测试详解
Jan 07 #Javascript
You might like
php实现图片局部打马赛克的方法
2015/02/11 PHP
ThinkPHP的SAE开发相关注意事项详解
2016/10/09 PHP
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
2007/02/09 Javascript
你真的了解JavaScript吗?
2007/02/24 Javascript
javascript 硬盘序列号+其它硬件信息
2008/12/23 Javascript
jquery随意添加移除html的实现代码
2011/06/21 Javascript
jQuery提交多个表单的小技巧
2014/07/27 Javascript
JavaScript设计模式之观察者模式(发布者-订阅者模式)
2014/09/24 Javascript
jQuery on()方法绑定动态元素的点击事件无响应的解决办法
2016/07/07 Javascript
jQuery Validate验证表单时多个name相同的元素只验证第一个的解决方法
2016/12/24 Javascript
canvas快速绘制圆形、三角形、矩形、多边形方法介绍
2016/12/29 Javascript
js制作可以延时消失的菜单
2017/01/13 Javascript
ExtJs的Ext.Ajax.request实现waitMsg等待提示效果
2017/06/14 Javascript
vue获取DOM元素并设置属性的两种实现方法
2017/09/30 Javascript
vuejs实现本地数据的筛选分页功能思路详解
2017/11/15 Javascript
在vue中添加Echarts图表的基本使用教程
2017/11/22 Javascript
angular基于ng-alain定义自己的select组件示例
2018/02/23 Javascript
vue+webpack实现异步加载三种用法示例详解
2018/04/24 Javascript
小程序如何获取多个formId实现详解
2019/09/20 Javascript
微信小程序scroll-view隐藏滚动条的方法详解
2020/03/25 Javascript
微信小程序用户盒子、宫格列表的实现
2020/07/01 Javascript
小程序实现上传视频功能
2020/08/18 Javascript
vue select 获取value和lable操作
2020/08/28 Javascript
Handtrack.js库实现实时监测手部运动(推荐)
2021/02/08 Javascript
python使用三角迭代计算圆周率PI的方法
2015/03/20 Python
python3 实现口罩抽签的功能
2020/03/11 Python
python数据库操作mysql:pymysql、sqlalchemy常见用法详解
2020/03/30 Python
golang/python实现归并排序实例代码
2020/08/30 Python
保荐人的岗位职责
2013/11/19 职场文书
大学生思想汇报范文
2013/12/31 职场文书
企业宣传工作方案
2014/06/02 职场文书
教师创先争优承诺书
2015/04/27 职场文书
开学第一周总结
2015/07/16 职场文书
Go 实现英尺和米的简单单位换算方式
2021/04/29 Golang
SQL Server中常用截取字符串函数介绍
2022/03/16 SQL Server
python中 Flask Web 表单的使用方法
2022/05/20 Python