美文网首页
Array.isArray 的实现

Array.isArray 的实现

作者: JamesSawyer | 来源:发表于2018-07-26 23:52 被阅读54次
if (typeof Array.isArray !== 'function') {
    Array.isArray = function (value) {
      return Object.prototype.toString().apply(value) === '[object array]';
    };
}

这里使用到了 Object.prototype.toString.apply() (或者使用 Object.prototype.toString.call()) 的方式,这也是判断其它数据类型常用的一种方式,比如:

function getType(obj) {
  var type = Object.prototype.toString.call(obj).match(/^\[object (.*)\]$/)[1].toLowerCase();
  // Let "new String('')" return 'object'
  if (type === 'string' && typeof obj === 'object') return 'object';
  if (obj === null) return 'null';
  if (obj === undefined) return 'undefined';
  return type;
}

// 示例
getType('123') // 'string'
getType(234) // 'number'
getType(new Set()) // 'set'
getType(Symbol()) // 'symbol'

相关文章

  • js判断数组的几种方法

    如果浏览器不支持Array.isArray方法,可使用如下兼容代码实现Array.isArray方法

  • Array.isArray 的实现

    这里使用到了 Object.prototype.toString.apply() (或者使用 Object.pro...

  • 关于Object

    1. Array.isArray() 作用:判断某个对象是否为数组 使用: Array.isArray(对象) 返...

  • Array.isArray

    Array.isArray用于检测一个对象是否为数组 语法 Array.isArray(obj) 参数 objec...

  • 2017-03-29 面向对象笔记

    Array.isArray() 作用:判断某个对象是否是数组 使用:Array.isArray(对象)返回值:布尔...

  • ES6中的数组常用方法

    Array.isArray(监测该对象是否为数组) 用法:Array.isArray(arr)返回值:Boolea...

  • 面向对象04

    Array.isArray()方法 作用:判断某个对象是否是数组语法:Array.isArray(对象),返回值为...

  • 面向对象小知识2

    Array.isArray() 作用:判断某个对象是否是数组 使用方法:Array.isArray(对象) 返回值...

  • 标准库-Array

    静态方法 Array.isArray()Array.isArray()方法返回一个布尔值, 表示参数是否为数组. ...

  • JS怎么判断数据类型

    typeof Array.isArray() constructor

网友评论

      本文标题:Array.isArray 的实现

      本文链接:https://www.haomeiwen.com/subject/sjgimftx.html