利用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 相关文章推荐
mapper--图片热点区域高亮组件官方站点
Dec 22 Javascript
jquery xMarquee实现文字水平无缝滚动效果
Apr 29 Javascript
jQuery实现列表自动滚动循环滚动展示新闻
Aug 22 Javascript
JavaScript修改浏览器tab标题小技巧
Jan 06 Javascript
jQuery检测某个元素是否存在代码分享
Jul 09 Javascript
12个非常实用的JavaScript小技巧【推荐】
May 18 Javascript
JS封装的自动创建表格的实现代码
Jun 15 Javascript
js事件源window.event.srcElement兼容性写法(详解)
Nov 25 Javascript
JS中使用 after 伪类清除浮动实例
Mar 01 Javascript
浅谈JavaScript正则表达式-非捕获性分组
Mar 08 Javascript
bootstrap select下拉搜索插件使用方法详解
Nov 23 Javascript
关于ES6箭头函数中的this问题
Feb 27 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实现多进程并行操作的详解(可做守护进程)
2013/06/18 PHP
codeigniter显示所有脚本执行时间的方法
2015/03/21 PHP
PHP递归统计系统中代码行数
2019/09/19 PHP
javascript 学习之旅 (3)
2009/02/05 Javascript
工作中常用到的JS表单验证代码(包括例子)
2010/11/11 Javascript
javascript 实现子父窗体互相传值的简单实例
2014/02/17 Javascript
使用AngularJS 应用访问 Android 手机的图片库
2015/03/24 Javascript
jQuery实现的简单折叠菜单(折叠面板)效果代码
2015/09/16 Javascript
Knockoutjs 学习系列(二)花式捆绑
2016/06/07 Javascript
js控制div层的叠加简单方法
2016/10/15 Javascript
Vue.js组件使用开发实例教程
2016/11/01 Javascript
微信公众号开发 实现点击返回按钮就返回到聊天界面
2016/12/15 Javascript
jQuery实现腾讯信用界面(自制刻度尺)样式
2017/08/15 jQuery
vue router学习之动态路由和嵌套路由详解
2017/09/21 Javascript
vue2.0模拟锚点的实例
2018/03/14 Javascript
Vue 菜单栏点击切换单个class(高亮)的方法
2018/08/22 Javascript
vue+axios 前端实现的常用拦截的代码示例
2018/08/23 Javascript
详解vue-cli 2.0配置文件(小结)
2019/01/14 Javascript
深入浅析vue全局环境变量和模式
2020/04/28 Javascript
谈谈JavaScript中的函数
2020/09/08 Javascript
在Python下使用Txt2Html实现网页过滤代理的教程
2015/04/11 Python
浅谈Python的Django框架中的缓存控制
2015/07/24 Python
python字符串的方法与操作大全
2018/01/30 Python
Django渲染Markdown文章目录的方法示例
2019/01/02 Python
Python Pandas 获取列匹配特定值的行的索引问题
2019/07/01 Python
Python调用REST API接口的几种方式汇总
2020/10/19 Python
Python如何使用ConfigParser读取配置文件
2020/11/12 Python
吨的认识教学反思
2014/04/27 职场文书
合作与交流自我评价
2015/03/09 职场文书
2015年创先争优活动总结
2015/03/27 职场文书
毕业论文答辩开场白和结束语
2015/05/27 职场文书
2016年中学端午节主题活动总结
2016/04/01 职场文书
本地通过nginx配置反向代理的全过程记录
2021/03/31 Servers
Python实现文本文件拆分写入到多个文本文件的方法
2021/04/18 Python
JavaScript实现显示和隐藏图片
2021/04/29 Javascript
科普 | 业余无线电知识-波段篇
2022/02/18 无线电