利用JS判断元素是否为数组的方法示例_javascript技巧

来源:脚本之家  责任编辑:小易  

此处提供可供验证的数据类型

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,保存着创建每个对象的函数

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判断元素是否在数组内的实现代码JS判断数组里是否有重复元素的方法小结javascript 判断数组是否已包含了某个元素的函数JS实现判断数组是否包含某个元素示例判断数组是否包含某个元素的js函数实现方法编写js扩展方法判断一个数组中是否包含某个元素javascript如何判断数组内元素是否重复的方法集锦使用js判断数组中是否包含某一元素(类似于php中的in_array())JS判断数组是否包含某元素实现方法汇总

  • 本文相关:
  • javascript实现无限级递归树的示例代码
  • 基于js组件实现拖动滑块验证功能(代码分享)
  • js闭包所用的场合以及优缺点分析
  • javascript变量函数浅析
  • 原生js和jquery随意改变div属性style的名称和值
  • javascript事件冒泡实例分析
  • javascript简单实现关键字文本搜索高亮显示功能示例
  • 如何写js数组sort的比较函数
  • javascript中的function.prototye.bind
  • react native使用百度echarts显示图表的示例代码
  • js怎么判断某个数组里面是否包含这个元素?
  • 怎么用js判断数组中有没有某个元素
  • js 怎么判断一个值是否是数组
  • js 数组怎么判断元素是第一个元素
  • JS中如何判断数组中是否包含某一元素
  • 怎么用javascript判断一个数组是否包含另一数组
  • js判断是否是数组及常见类型判断
  • 如何判断javascript中的变量是否为数组?
  • js中判断对象数组中是否有某个属性的方法
  • js中如何判断一个值是否在数组中
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全基础知识javascript类库表单特效广告代码网页特效黑客性质javascript技巧domnode.jsjs其它首页javascriptjavascript判断数组是否包含指定元素的方法js判断元素是否在数组内的实现代码js判断数组里是否有重复元素的方法小结javascript 判断数组是否已包含了某个元素的函数js实现判断数组是否包含某个元素示例判断数组是否包含某个元素的js函数实现方法编写js扩展方法判断一个数组中是否包含某个元素javascript如何判断数组内元素是否重复的方法集锦使用js判断数组中是否包含某一元素(类似于php中的in_array())js判断数组是否包含某元素实现方法汇总javascript实现无限级递归树的示例代码基于js组件实现拖动滑块验证功能(代码分享)js闭包所用的场合以及优缺点分析javascript变量函数浅析原生js和jquery随意改变div属性style的名称和值javascript事件冒泡实例分析javascript简单实现关键字文本搜索高亮显示功能示例如何写js数组sort的比较函数javascript中的function.prototye.bindreact native使用百度echarts显示图表的示例代码js刷新页面方法大全js中settimeout()的用法详解js删除数组里的某个元素方法js截取字符串常用方法详细整理js页面跳转常用的几种方式js打开新窗口的2种方式js数组与字符串的相互转换方法js设置cookie、读取cookie、删除js 将json字符串转换为json对象的js保留两位小数方法总结javascript中关于执行环境的杂谈javascript权威指南 学习笔记之javascripjavascript实现的颜色块滑动的动态效果javascript实现查找字符串中第一个不重复javascript 继承机制实例javascript文本框内输入文字倒计数的方法浅谈js函数中的实例对象、类对象、局部变js闭包学习心得总结ie中radio 或checkbox的checked属性初始状如何使用three.js 制作一个三维的推箱子游
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved