×

介绍五种在javascript里判断变量是不是数组的方法

作者:Web前端之家2020.02.27来源:Web前端之家浏览:3017评论:0
关键词:JS数组arry
微信公众号

微信公众号

20171112231859_71896.jpg

已经有1个月没出门了,为了生活,只能申请在家里上班,难受啊,闲余之时还得继续学习。来点干货吧,介绍下介绍五种在javascript里判断变量是不是数组的方法,大家拿走不谢。

方案一:使用instanceof运算符

语法:

变量 instanceof 类型

返回值:返回一个布尔值 ,true或false。

例:

var a = [];
a instanceof Array  //true

方案二:原型prototype + toString +  call()

image.png

首先:Object.prototype.toString.call(variable)来判断,返回值是字符串
其次:Object.prototype.toString.call(variable).indexOf('Array') 如果变量对象是纯数组,返回的数字不是-1
最后:Object.prototype.toString.call(variable).indexOf('Array') !== -1 比对数值是否等于-1就能判断是否是数组类型 是为true

方案三:原型prototype + isPrototypeOf()

Array.prototype.isPrototypeOf(variable)

isPrototypeOf() 函数 : 用于指示对象是否存在于一个对象的原型链中。如果存在返回true,反之返回false。

该方法属Object对象,由于所有的对象都继承了Object的对象实例,因此几乎所有的实例对象都可以使用该方法。如果variable的原型链中存在Array对象,就会返回true,也就说明variable是数组类型。

方案四:构造函数 constructor

variable.constructor
variable.constructor.toString()
variable.constructor.toString().indexOf("Array") !== -1

一个数组类型的实例,其原型__proto__.constructor右边是Array关键字,再拿到字符串,最后查找字符串中Array关键字的位置是否等于-1。

方案五:数组方法 isArray()

isArray() 方法用于判断一个对象是否为数组。如果对象是数组返回 true,否则返回 false。

Array.isArray(variable)

您的支持是我们创作的动力!
温馨提示:本文作者系Web前端之家 ,经Web前端之家编辑修改或补充,转载请注明出处和本文链接:
https://jiangweishan.com/article/js20200227A1.html

网友评论文明上网理性发言 已有0人参与

发表评论:

最新留言

  • Web前端之家

    已经加上了。...

  • 访客

    wordpress主题https://www.22vd.com,交换下友链麻烦通过...

  • Web前端之家

    你是可以试试的,其实用途有区别的。...

  • qdxx

    跟国内的比较Hchart等,如何?...

  • qdxx

    不错啊,收藏了!...

  • Web前端之家

    是的,多学习吧!...

  • qdxx

    这个的确坑,我也是刚遇到,感谢分享。...

  • 访客

    大苏打...

首页|JavaScript|HTML|HTML4|HTML5|CSS3|开发工具|性能优化|移动开发|前端教程|性能优化|开发工具|酷站欣赏|UI设计|前端教程

Copyright © 2021 Web前端之家(www.jiangweishan.com) 版权所有 All Rights Reserved.
粤ICP备12067512号-1

Copyright Your WebSite.Some Rights Reserved.

Powered By Z-BlogPHP 1.7.1