JavaScript判断数组的方法
一、Array.isArray
ES5新增的数组方法,Array.isArray应该是我们最先想到的判定方式,现在应用的也比较广泛。
const arr = [1,2,3,4]
Array.isArray(arr) // true
二、instanceof
一般来说,instanceof关键字,是用来判断某个元素是否某对象构造函数实例。在数组判断上,instanceof关键字也可以进行数组的判定。
const arr = [1, 2, 3, 4]
arr instanceof Array // true
三、Object.prototype.toString.call(最优方法)
对象的toString方式也可以判定数组类型,一般来说这种方式的判定是各大库的一种Array.isArray的代替实现。
例如,polyfill中,就是如此实现:
if (!Array.isArray) {Array.isArray = function(arr) {return Object.prototype.toString.call(arr) === '[object Array]';};
}const arr = [1, 2, 3, 4]
Object.prototype.toString.call(arr) === '[Object Array]' // true
四、constructor
除了以上的方式之外,我们还可以通过构造函数来判定:
const arr = [1, 2, 3, 4]
arr.constructor === Array // true
arr.__proto__.constructor === Array //true
参考:https://www.cnblogs.com/qixingduanyan/p/11725557.html
JavaScript判断数组的方法相关推荐
- js判断数组的方法(JavaScript判断数组的方法,7种),实操详细
var arr = [ ]; 1.实例的__proto__属性(IE不支持) arr.__proto__ === Array.prototype //true 2.实例的constructor属性 a ...
- javascript操作数组的方法大全
javascript操作数组的方法大全 一.ES5数组的方法 1.Array.isArray() 用来判断是否为数组 var arr = [1, 2, 3, 4, 5]; var obj = {}; ...
- JavaScript判断数据类型的方法
JavaScript判断数据类型的方法 1 数据类型有哪些? 2 判断JavaScript数据类型的方法 2.1 typeof 2.2 instanceof 2.3 constructor 2.4 t ...
- JavaScript比较数组的方法
JavaScript比较数组的方法 1.比较两个对象数组,删除重复项,根据属性合并对象 我们确实需要比较两个不同的对象数组,并希望在两个对象匹配特定属性值的情况下合并这两个对象.可以使用filter( ...
- 6种JavaScript判断数组是否包含某个值的方法
我们在项目开发过程中,经常会要检查一个数组(无序)是否包含一个特定的值?这是一个在JavaScript中经常用到的并且非常有用的操作. 下面给出几种实现方式. 方式一:利用循环 这种方式是比较老的实现 ...
- JavaScript 判断数据类型的方法
文章目录 1.javascript 中的数据类型 2.`typeof` 返回 变量的数据类型 3.`instanceof ` :复杂数据类型的判断 3.1.instanceof 原理分析(初学者跳过) ...
- javaScript基础数组属性方法
数组: 1.Array.push() 在数组末尾添加元素并返回新的长度 let arr = ["张三","李四","王五"]; consol ...
- 前端开发:JavaScript合并数组的方法
前言 在前端开发的时候,对于数据处理是很重要的一块,尤其是要根据实际的业务需求来处理数据,有很强的兼容性要求.而且有些时候后端提供的数据和实际的业务需求数据是有偏差的,所以前端在拿到后台返回的数据之后 ...
- 面试官:说下判断数组的方法
在JS中,数组是是Object引用类型,所以说typeof运算符不可以用来判断数组 typeof运算符会把对象.数组或null返回object.却不能细分出是什么类型的数组... typeof运算符只 ...
- javascript判断数组是否包含了指定的元素
jQuery写法: var arr = [ "xml", "html", "css", "js" ]; $.inArra ...
最新文章
- html 文本框 无法输入,无法在HTML文本框中输入任何东西
- 1、excel常用技能(数据分列、数据快速浏览、转置、选择性粘贴运算、绘制对角线、单元格内换行、插入注解文字或图片)
- Android直播app用什么技术可以做到延迟小一些?
- linuxpip安装python包_Windows+Linux安装Python包管理工具pip
- 寻找是生命中的另一场迷失
- 深入struts2(二) ---stuts2长处和主要包、类功能
- matlab取矩阵实部和虚部,MATLAB中容易忽略却经常遇到的小技巧总结
- 【图像处理】图像灰度级减少, 图像缩放(Reducing the Number of Gray Levels, Zooming and Shrinking)
- 恢复 管理员密码 新建管理员账号
- Django REST framework+Vue 打造生鲜超市(九)
- linux转换文件导出16进制,xxd命令转换二进制十六进制文件
- HDU 5336 BFS
- AngularJS知识概括
- 前言 金融大叔的梦想
- 湖南省如何参加政府采购网投标?
- linux打开文件脚本,linux脚本文件实现的功能有哪些剧本用工具打开
- 朝菌不知晦朔,蟪蛄不知春秋
- java计时器_Java实现的计时器【秒表】功能示例
- JSD-2204-WebServer(项目)-Day14
- 史上最全的xpath定位方法