利用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 相关文章推荐
常用的javascript function代码
May 23 Javascript
JavaScript.The.Good.Parts阅读笔记(二)作用域&闭包&减缓全局空间污染
Nov 16 Javascript
使用js检测浏览器是否支持html5中的video标签的方法
Mar 12 Javascript
JQuery对表单元素的基本操作使用总结
Jul 18 Javascript
jQuery实现隔行背景色变色
Nov 24 Javascript
使用angular写一个hello world
Jan 23 Javascript
酷炫jQuery全屏3D焦点图动画效果
Mar 22 Javascript
微信小程序 封装http请求实例详解
Jan 16 Javascript
ionic3 懒加载
Aug 16 Javascript
小程序云开发如何实现图片上传及发表文字
May 17 Javascript
Vue全局使用less样式,组件使用全局样式文件中定义的变量操作
Oct 21 Javascript
vue表单验证之禁止input输入框输入空格
Dec 03 Vue.js
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二维数组的去重问题解析
2011/07/17 PHP
php将金额数字转化为中文大写
2015/07/09 PHP
php微信开发之谷歌测距
2018/06/14 PHP
PHP htmlspecialchars()函数用法与实例讲解
2019/03/08 PHP
PHP面向对象程序设计之构造方法和析构方法详解
2019/06/13 PHP
JS制作手机端自适应缩放显示
2015/06/11 Javascript
简介JavaScript中Math.LOG10E属性的使用
2015/06/14 Javascript
JavaScript实现简单获取当前网页网址的方法
2015/11/09 Javascript
javascript html5摇一摇功能的实现
2016/04/19 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
2016/07/07 Javascript
浅谈JavaScript的闭包函数
2016/12/08 Javascript
jQuery实现注册会员时密码强度提示信息功能示例
2017/09/05 jQuery
微信小程序 按钮滑动的实现方法
2017/09/27 Javascript
全面介绍vue 全家桶和项目实例
2017/12/27 Javascript
如何实现一个webpack模块解析器
2018/10/24 Javascript
javascript 对象 与 prototype 原型用法实例分析
2019/11/11 Javascript
javascript实现简易数码时钟
2020/03/30 Javascript
[01:54]TI4西雅图DOTA2选手欢迎晚宴 现场报道
2014/07/08 DOTA
[01:01:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第一场 3月4日
2021/03/11 DOTA
python sys模块sys.path使用方法示例
2013/12/04 Python
pandas 数据实现行间计算的方法
2018/06/08 Python
Python函数参数操作详解
2018/08/03 Python
python使用正则表达式来获取文件名的前缀方法
2018/10/21 Python
Python之数据序列化(json、pickle、shelve)详解
2019/08/30 Python
Python3操作Excel文件(读写)的简单实例
2019/09/02 Python
python3通过udp实现组播数据的发送和接收操作
2020/05/05 Python
python 字符串的驻留机制及优缺点
2020/06/19 Python
国外最大的眼镜网站:Coastal
2017/08/09 全球购物
美国户外烹饪产品购物网站:Outdoor Cooking
2020/01/10 全球购物
Ajax的工作原理
2015/12/04 面试题
企业节能减排实施方案
2014/03/19 职场文书
《每逢佳节倍思亲》教后反思
2014/04/19 职场文书
历史博物馆观后感
2015/06/05 职场文书
2015年秋季运动会广播稿
2015/08/19 职场文书
2016年小学教师政治学习心得体会
2016/01/23 职场文书
Django中session进行权限管理的使用
2021/07/09 Python