利用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下通过getList函数实现分页效果的代码
Sep 17 Javascript
javascript学习笔记(十五) js间歇调用和超时调用
Jun 20 Javascript
给Flash加一个超链接(推荐使用透明层)兼容主流浏览器
Jun 09 Javascript
浅析showModalDialog数据缓存问题(用禁止浏览器缓存解决)
Jul 09 Javascript
js实现浏览器倒计时跳转页面效果
Aug 12 Javascript
jQuery层次选择器用法示例
Sep 09 Javascript
js调用父框架函数与弹窗调用父页面函数的简单方法
Nov 01 Javascript
DWR3 访问WEB元素的两种方法实例详解
Jan 03 Javascript
移动端界面的适配
Jan 11 Javascript
w3c编程挑战_初级脚本算法实战篇
Jun 23 Javascript
jQuery 1.9版本以上的浏览器判断方法代码分享
Aug 28 jQuery
JavaScript编码小技巧分享
Sep 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
PHP4与PHP3中一个不兼容问题的解决方法
2006/10/09 PHP
PHP中的extract的作用分析
2008/04/09 PHP
PHP代码优化的53个细节
2014/03/03 PHP
php保存信息到当前Session的方法
2015/03/16 PHP
用Javascript 获取页面元素的位置的代码
2009/09/25 Javascript
jQuery为iframe的body添加click事件的实现代码
2011/04/07 Javascript
javascript 保存文件到本地实现方法
2012/11/29 Javascript
javascript full screen 全屏显示页面元素的方法
2013/09/27 Javascript
js导出table数据到excel即导出为EXCEL文档的方法
2013/10/10 Javascript
JavaScript代码简单实现求杨辉三角给定行的最大值
2013/10/29 Javascript
jquery cookie的用法总结
2013/11/18 Javascript
将HTML的左右尖括号等转义成实体形式的两种实现方式
2014/05/04 Javascript
jquery得到iframe src属性值的方法
2014/09/25 Javascript
Javascript基础知识(二)事件
2014/09/29 Javascript
jQuery实现可以控制图片旋转角度效果(附demo源码下载)
2016/01/27 Javascript
javascript常见数字进制转换实例分析
2016/04/21 Javascript
jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
2016/06/02 Javascript
浅谈window.onbeforeunload() 事件调用ajax
2016/06/29 Javascript
js入门之Function函数的使用方法【新手必看】
2016/11/22 Javascript
javascript正则表达式模糊匹配IP地址功能示例
2017/01/06 Javascript
nginx部署访问vue-cli搭建的项目的方法
2018/02/12 Javascript
Vue中div contenteditable 的光标定位方法
2018/08/25 Javascript
Vue js 的生命周期(看了就懂)(推荐)
2019/03/29 Javascript
Vue表单控件数据绑定方法详解
2020/02/05 Javascript
使用element-ui +Vue 解决 table 里包含表单验证的问题
2020/07/17 Javascript
[01:00:52]2018DOTA2亚洲邀请赛 4.4 淘汰赛 EG vs LGD 第一场
2018/04/05 DOTA
python 实现一个贴吧图片爬虫的示例
2017/10/12 Python
python numpy存取文件的方式
2020/04/01 Python
简单了解python调用其他脚本方法实例
2020/03/26 Python
香港士多网上超级市场:Ztore
2021/01/09 全球购物
数据库基础的一些面试题
2012/02/25 面试题
密封类可以有虚函数吗
2014/08/11 面试题
大学生毕业自荐信
2013/10/10 职场文书
优秀广告词大全
2014/03/19 职场文书
2015年大学班主任工作总结
2015/04/30 职场文书
python中 Flask Web 表单的使用方法
2022/05/20 Python