`

JavaScript判断是否为数组

    博客分类:
  • js
阅读更多

判断一个对象是否为数组比较麻烦,以下是我收集的各种版本

Douglas Crockford的版本


 var isArray = function(a){
  return a &&
    typeof a === 'object' &&
    typeof a.length === 'number' &&
    typeof a.splice === 'function' &&
    !(a.propertyIsEnumerable('length'));
 }

Ext与JQuery的版本


 var isArray = function(v){
  return Object.prototype.toString.apply(v) === '[object Array]';
 }

Prototype的版本


 var isArray = function(object) {
  return object != null && typeof object === "object" &&
    'splice' in object && 'join' in object;
 }

分享到:
评论

相关推荐

    JavaScript判断是否为数组的3种方法及效率比较

    在JavaScript中,正确判断一个变量是否为数组是编程过程中经常遇到的问题。这篇文章将介绍三种常见的判断数组的方法,并通过性能测试来比较它们的效率差异。以下是这三种方法的详细说明: 1. **Array.isArray()** ...

    JavaScript判断对象是否为数组

    文中为大家分享了三种JavaScript判断对象是否为数组的方法, 1. typeof 首先我们会想到的是使用typeof来检测数据类型,但是对于Function, String, Number, Undefined等这几种基本类型来说,使用typeof来检测都可以...

    js代码-js判断是否为数组Array.isArray

    在JavaScript编程语言中,`Array.isArray()` 是一个非常重要的内置函数,用于判断一个变量是否为数组类型。这个方法是ES5引入的新特性,解决了之前使用`typeof`操作符判断数组时可能出现的问题。在深入理解`Array....

    JavaScript判断变量是否为数组的方法(Array)

    在JavaScript中,正确判断一个变量是否为数组是一个常见的需求,因为有时`typeof`操作符并不能提供准确的结果。本文将详细探讨四种不同的方法来检测变量是否为数组。 首先,我们来看看`typeof`操作符。在JavaScript...

    JavaScript判断对象和数组的两种方法

    //判断是否为数组 function isArray(obj) { return obj instanceof Array; } //判断是否为对象 function isObject(obj) { return obj instanceof Object; } 方法二: //判断是否是数组 fun

    JavaScript中使用Object.prototype.toString判断是否为数组

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

    js判断数据类型如判断是否为数组是否为字符串等等

    在JavaScript中,数组是属于引用类型的数据,我们可以使用typeof操作符和constructor属性来判断一个变量是否为数组。示例代码如下: ```javascript var arr = [0]; document.write(isArray(arr), ' '); ...

    js判断是否为数组的函数: isArray()

    这就导致了判断某个变量是否为数组类型的复杂性,因为JavaScript中并没有一个直接的类型检查方法可以区分数组和普通对象。JavaScript提供的类型检查方法如typeof或instanceof等在判断数组类型时往往不能达到预期效果...

    javascript 判断一个对象为数组的方法

    综上所述,在判断一个JavaScript对象是否为数组时,推荐使用`Array.isArray()`方法,因为它既简单又可靠,且不受多窗口环境的影响。如果在ES5之前的环境中工作,`Object.prototype.toString.call()`也是一个不错的...

    js语法学习之判断一个对象是否为数组

    判断是否为数组的最直接的方法为: 代码如下: a instanceof Array //true a .constructor == Array //true 这里涉及到一个instanceof语法,instanceof是一个云算符,与”+-*/”一样,它的语法如下: result = obj ...

    Javascript如何判断数据类型和数组类型

    Array.isArray()方法是ES5引入的,用来判断一个变量是否为数组,是检查数组类型的一种标准化方法,避免了使用typeof判断数组的不准确性。例如,Array.isArray([])会返回true,表明[]是一个数组。 总而言之,在...

    JavaScript类数组对象转换为数组对象的方法实例分析

    ES5引入的`Array.isArray()`是专门用来判断一个值是否为数组的,无论它在哪种全局环境中创建,这种方法更安全可靠。 4. **`Object.prototype.toString.call(arr) === "[object Array]"`:** 使用`toString`方法...

    javascript判断变量是否有值的方法

    除此之外,还有其他方法来判断变量的值,例如使用`Object.prototype.hasOwnProperty`来检查对象属性是否存在,或者使用`Array.isArray`来判断变量是否为数组。但这些方法主要针对特定的场景,如对象属性或数组元素。...

Global site tag (gtag.js) - Google Analytics