利用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 相关文章推荐
告诉大家什么是JSON
Jun 10 Javascript
JavaScript的单例模式 (singleton in Javascript)
Jun 11 Javascript
js预载入和JavaScript Image()对象使用介绍
Aug 28 Javascript
jquery.Jwin.js 基于jquery的弹出层插件代码
May 23 Javascript
Jquery.Form 异步提交表单的简单实例
Mar 03 Javascript
angularJS中$apply()方法详解
Jan 07 Javascript
JS与HTML结合使用marquee标签实现无缝滚动效果代码
Jul 05 Javascript
jQuery实用小技巧_输入框文字获取和失去焦点的简单实例
Aug 25 Javascript
解决node.js安装包失败的几种方法
Sep 02 Javascript
微信小程序 wx.login解密出现乱码的问题解决办法
Mar 10 Javascript
Vue自定义指令封装节流函数的方法示例
Jul 09 Javascript
Vue实现购物车的全选、单选、显示商品价格代码实例
May 06 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/04/28 PHP
PHP检测链接是否存在的代码实例分享
2016/05/06 PHP
php格式化时间戳
2016/12/17 PHP
php输出含有“#”字符串的方法
2017/01/18 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
2017/10/19 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
2017/10/23 PHP
layui数据表格自定义每页条数limit设置
2019/10/26 PHP
jQuery 事件队列调整方法
2009/09/18 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
JavaScript function函数种类详解
2016/02/22 Javascript
jQuery下拉框的简单应用
2016/06/24 Javascript
详解jquery easyui之datagrid使用参考
2016/12/05 Javascript
JS仿Base.js实现的继承示例
2017/04/07 Javascript
vue动态路由实现多级嵌套面包屑的思路与方法
2017/08/16 Javascript
浅谈React Native 中组件的生命周期
2017/09/08 Javascript
微信小程序使用map组件实现解析经纬度功能示例
2019/01/22 Javascript
JavaScript中CreateTextFile函数
2020/08/30 Javascript
python使用PyGame播放Midi和Mp3文件的方法
2015/04/24 Python
Python实现的HMacMD5加密算法示例
2018/04/03 Python
python如何求解两数的最大公约数
2018/09/27 Python
如何基于python实现归一化处理
2020/01/20 Python
Python filter()及reduce()函数使用方法解析
2020/09/05 Python
美国最大的团购网站:Groupon
2016/07/23 全球购物
华为慧通面试题
2012/09/11 面试题
市场营销专业个人自荐信格式
2013/09/21 职场文书
护理实习自我鉴定
2013/12/14 职场文书
大学毕业生推荐信
2014/07/09 职场文书
2014年企业团支部工作总结
2014/12/10 职场文书
大学学生会竞选稿
2015/11/19 职场文书
交通安全教育心得体会
2016/01/15 职场文书
小学毕业教师寄语
2019/06/21 职场文书
写作技巧:如何撰写一份优秀的营销策划书
2019/08/13 职场文书
laravel添加角色和模糊搜索功能的实现代码
2021/06/22 PHP
使用@Value值注入及配置文件组件扫描
2021/07/09 Java/Android
Redis中有序集合的内部实现方式的详细介绍
2022/03/16 Redis
python画条形图的具体代码
2022/04/20 Python