`
dengjianqiang200
  • 浏览: 128184 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

javascript判断是否是数组

阅读更多

为什么要用Object.prototype.toString而不是Function.prototype.toString或者其它?这是和他们的toString解释方式有关系的。下面是ECMA中对Object.prototype.toString的解释:

Object.prototype.toString( )
When the toString method is called, the following steps are taken:
1. Get the [[Class]] property of this object.
2. Compute a string value by concatenating the three strings “[object “, Result (1), and “]”.
3. Return Result (2)


其过程简单说来就是:1、获取对象的类名(对象类型)。2、然后将[object、获取的类名、]组合并返回。

ECMA中对Array有如下说明:

The [[Class]] property of the newly constructed object is set to “Array”.

因此我们用如下代码来检测数组:

function isArray(o) {   return Object.prototype.toString.call(o) === '[object Array]';  }

 

这种方式既解决了instanceof存在的跨页面问题,也解决了属性检测方式所存在的问题,实在是一种妙招,一个很好的解决方案。

除此之外,这种解决办法也可以应用于判断Date,Function等类型的对象。

 

另外还有几个方法:

var arr = []; return arr instanceof Array;

  

如果有其他好的方法不妨贴出来。

分享到:
评论

相关推荐

    js判断两个数组是否完全相同

    在JavaScript(JS)中,判断两个数组是否完全相同是一个常见的需求,这可能涉及到对对象数组或字符串数组的比较。在编程实践中,数组的相同性不仅仅是元素数量的匹配,还需要考虑元素的顺序和值的精确匹配。下面我们...

    js判断数组是否相等的方法

    在JavaScript中,判断两个数组是否相等是一个常见的需求,尤其在处理数据比较或者验证时。根据标题和描述,我们可以区分两种不同的场景: 1. **数组完全相等**:在这种情况下,不仅要求数组中的元素相同,而且元素...

    javascript判断一个变量是数组还是对象

    我们能够使用typeof判断变量的身份,判断字符串得到string,数字和NaN得到number,函数会得到function等,但是判断数组,对象和null时都会得到object,详细请看js数据类型,这就是typeof的局限性,并不能准确的判断...

    js数组相减简单示例【删除a数组所有与b数组相同元素】

    本文详细讲解了如何使用JavaScript进行数组相减的操作,即删除数组a中所有与数组b相同的元素。这涉及到JavaScript中的数组遍历、元素比较以及数组的删除操作等核心知识。通过具体示例,我们学习了如何编写一个函数来...

    JavaScript中判断变量是数组、函数或是对象类型的方法

    在JavaScript中,判断一个变量是否为数组、函数或者对象类型是一个经常需要处理的问题,尤其是在处理各种数据类型时。JavaScript提供了不同的方法来判断变量的类型,但是每种方法都有其适用场景和限制。 首先,...

    JavaScript比较两个数组的内容是否相同(推荐)

    在JavaScript中,比较两个数组的内容是否相同并非像比较基本类型那样简单,因为数组是对象,而`==`和`===`操作符在比较对象时,只会检查它们是否指向同一个内存地址,即比较的是引用,而不是内容。因此,直接使用`==...

    javascript判断数组内是否重复的方法

    此外,还可以通过创建一个新的数组,只存储不重复的元素,从而间接判断原数组是否存在重复。例如,以下代码创建了一个新的数组`c`,其中不包含任何重复元素: ```javascript Array.prototype.unique = function() {...

    javascript检测两个数组是否相似

    然而,JavaScript中的数组并没有内置的方法来直接判断两个数组是否“相似”。相似在这里指的是两个数组的元素相同,但顺序可以不同。由于JavaScript中数组的比较是基于引用的,所以不能使用等号运算符`==`或全等...

    JavaScript对象与数组参考大全JavaScript语法结构

    在本篇内容中,我们将深入探讨JavaScript对象和数组的详细知识。 一、JavaScript对象 1. 对象定义:JavaScript对象是一种键值对的集合,键通常是字符串,而值可以是任何类型的数据。对象用花括号 `{}` 包裹,键值对...

    JS判断两个数组或对象是否相同的方法示例

    首先,判断两个数组是否相同,最简单直接的方式是对两个数组进行排序,然后转换成字符串进行比较。例如使用`JSON.stringify()`方法将数组转换为字符串后进行比较。若两个数组内容相同且排序后一致,它们的字符串表示...

    javascript如何判断数组内元素是否重复的方法集锦

    ### JavaScript 判断数组内元素是否重复的方法集锦 在日常的前端开发工作中,经常会遇到需要判断数组中的元素是否存在重复的情况。对于这样的需求,JavaScript 提供了多种方法来实现这一功能。下面将详细介绍几种...

    Javascript数组操作整理.rar

    arr.length`可用来判断数组是否为空。 9. ECMAScript 6 新特性: - `Array.from()`:将类数组对象或可迭代对象转换为真正的数组。 - `Array.of()`:创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或...

    JavaScript中数组常见操作技巧

    此外,判断数组是否为空,可以使用 `if (arr.length) {}`。 #### 数组排序 排序数组可以使用数组的 `sort()` 方法,它可以根据提供的比较函数来排序数组。 ```javascript // 数组排序示例 const numbers = [1, 2, ...

    jQery中类数组判断的实现原理及代码实现

    jQuery判断一个对象是否为类数组对象,主要依据以下几个条件: 1. 对象有一个`length`属性,表示其元素数量。 2. 对象的元素可以通过索引来访问,索引通常从0开始。 3. 对象不是真正的Array,即它不具有Array....

    php中经典方法实现判断多维数组是否为空

    这个函数在这里的使用可能是为了安全考虑,但逻辑上与判断数组是否为空无关,有可能是代码片段被误插入或者是该函数用于别的目的,比如处理特定的输出格式。 递归判断多维数组是否为空的逻辑可以用伪代码表示如下:...

    JavaScript判断数组是否存在key的简单实例

    在JavaScript编程中,数组是一种非常重要的数据结构...希望这个关于JavaScript判断数组是否存在键的简单实例能帮助你更好地理解和应用这些知识。在进行JavaScript编程时,一定要注意这些细节,以避免潜在的问题和错误。

    求js两个数组的差集,以便测试

    #### 一、JavaScript数组与操作 **数组定义:** 在JavaScript中,数组是一种用于存储多个值的数据结构。数组中的每个元素都有一个对应的索引(从0开始),并且可以通过该索引访问数组中的元素。 示例代码: ```...

    浅谈js数据类型判断与数组判断

    在判断数组类型时,有以下几种常见方法: 1. `instanceof`:检查一个对象是否是特定构造函数的实例。例如,`arr instanceof Array`将返回`true`,如果`arr`是一个数组。但是,如果数组是从另一个环境中(比如Web ...

    javascript读取json数组生成滚动分页

    这通常通过比较滚动位置与页面总高度来判断是否达到底部: ```javascript window.addEventListener('scroll', function() { if (window.innerHeight + document.documentElement.scrollTop !== document....

    JavaScript获取两个数组交集的方法

    在JavaScript编程中,处理数组数据时常常需要进行各种操作,其中获取两个数组的交集是一项基本且实用的操作。本文将详细介绍如何使用JavaScript来获取两个数组的交集,并提供相应的代码实现。 首先,我们来明确什么...

Global site tag (gtag.js) - Google Analytics