利用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 调整select 位置的函数
Feb 21 Javascript
如何获取select下拉框的值(option没有及有value属性)
Nov 08 Javascript
JS执行删除前的判断代码
Feb 18 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
May 11 Javascript
深入学习 JavaScript中的函数调用
Mar 23 Javascript
深入理解ES6中let和闭包
Feb 22 Javascript
Vue实现active点击切换方法
Mar 16 Javascript
vue+springmvc导出excel数据的实现代码
Jun 27 Javascript
mpvue将vue项目转换为小程序
Sep 30 Javascript
JavaScript中this的学习笔记及用法整理
Feb 17 Javascript
vue中音频wavesurfer.js的使用方法
Feb 20 Vue.js
Vue使用Element实现增删改查+打包的步骤
Nov 25 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(7) php 字符串相关应用
2010/03/05 PHP
php读取javascript设置的cookies的代码
2010/04/12 PHP
PHP自定义多进制的方法
2016/11/03 PHP
PHP检查URL包含特定字符串实例方法
2019/02/11 PHP
PHP文件上传小程序 适合初学者学习!
2019/05/23 PHP
js如何判断不同系统的浏览器类型
2013/10/28 Javascript
各浏览器对document.getElementById等方法的实现差异解析
2013/12/05 Javascript
jquery禁止输入数字以外的字符的示例(纯数字验证码)
2014/04/10 Javascript
cookie的secure属性详解
2015/04/08 Javascript
javascript实现Table排序的方法
2015/05/15 Javascript
jQueryUI DatePicker 添加时分秒
2016/06/04 Javascript
javascript加减乘除的简单实例
2016/07/12 Javascript
React Native实现简单的登录功能(推荐)
2016/09/19 Javascript
Bootstrap导航条学习使用(一)
2017/02/08 Javascript
JS实现数组去重复值的方法示例
2017/02/18 Javascript
微信小程序 navbar实例详解
2017/05/11 Javascript
AngularJS中scope的绑定策略实例分析
2017/10/30 Javascript
jquery在启动页面时,自动加载数据的实例
2018/01/22 jQuery
解决Vue.js 2.0 有时双向绑定img src属性失败的问题
2018/03/14 Javascript
编写一个javascript元循环求值器的方法
2020/04/14 Javascript
[03:02]2020完美世界城市挑战赛(秋季赛)总决赛回顾
2021/03/11 DOTA
python3正则提取字符串里的中文实例
2019/01/31 Python
浅谈Python反射 & 单例模式
2019/03/21 Python
python之pexpect实现自动交互的例子
2019/07/25 Python
利用python实现冒泡排序算法实例代码
2019/12/01 Python
Windows系统下pycharm中的pip换源
2020/02/23 Python
美国山地自行车、露营、户外装备和服装购物网站:Aventuron
2018/05/05 全球购物
美国地毯购买网站:Rugs USA
2019/02/23 全球购物
大学毕业登记表自我鉴定
2013/10/09 职场文书
面试求职的个人自我评价
2013/11/16 职场文书
高校教师岗位职责
2014/03/18 职场文书
运动会开幕式主持词
2014/03/28 职场文书
大学生新学期计划书
2014/04/28 职场文书
区长工作作风个人整改措施
2014/10/01 职场文书
入团申请书格式
2019/06/20 职场文书
SQL实现LeetCode(196.删除重复邮箱)
2021/08/07 MySQL