精华内容
下载资源
问答
  • js判断一个变量是否是数组

    JS判断一个变量是否是数组:

    //方法一
    var arr = [1,2,3];
    var obj = {'name': 'xiaoming','age': 19};
    if(arr.constructor == Array){
      alert(1);
    }
    //方法二
    if(Array.isArray(arr)){
      alert(1);
    }
    //方法三
    var getDataType = function(o){
      if(typeof o == 'object'){
        if(typeof o.length == 'number'){
          return 'Array';
        }else{
          return 'Object';
        }
      }else{
        return 'param is no object type';
      }
    }
    alert(getDataType(arr));
    alert(getDataType(obj));
    //方法四
    alert(arr instanceof Array);
    alert(obj instanceof Object);


    展开全文
  • 总所周知,我们判断一个变量的类型对数用typeof方法,但是该方法只能判断String,number,boolean,... //判断一个变量是否是数组 var arr=[1,2] //1 判断父对象是否是构造函数Array 的原型对象 arr.__proto__...

    总所周知,我们判断一个变量的类型常用typeof方法,但是该方法只能判断String,number,boolean,等等原始数据类型,对于object引用数据类型则无法准确判断
    以下我总结了5种判断数组的方法

     //判断一个变量是否是数组
            var arr=[1,2]
            //1 判断父对象是否是构造函数Array 的原型对象
            arr.__proto__==Array.prototype
            //2  判断父对象的构造函数是否是Array
            arr.constructor==Array
        //3 用toString()方法判断一个对象的class属性,但是只有Object的原型对象可以用
            //用该api使子对象直接使用Object的原型对象的toString方法
            Object.prototype.toString.call(arr)=="[object Array]"
            //4 使用静态方法Array.isArray(),查看对象的class属性
            Array.isArray(arr)
            //5 让子对象直接继承Object的原型对象,用Object原型对象的toString方法查看
            // 子对象的class属性
            arr.__proto__=Object.prototype
            arr.toString()
    
    展开全文
  • Array.isArray() IE9+,非常普遍的用法,比如{a: '1'},Array.isArray({a: '1'})返回false variable.constructor === Array ...返回一个布尔值,顺便提一下,instanceof这个方法判断基本数据类型是会失效的...

    Array.isArray()

    IE9+,非常普遍的用法,比如{a: '1'},Array.isArray({a: '1'})返回false

    variable.constructor === Array

    变量是由Array构造函数生成的数组,寻找变量的构造函数...

    [1,2,3] instanceof Array

    返回一个布尔值,顺便提一下,instanceof这个方法判断基本数据类型是会失效的,比如 1 instanceof Number为假,'2' instanceof String为假,但是如果这样处理:

    const a = new Number(2);
    a instanceof Number     // true
    复制代码

    随便找一个数组仅有的方法

    可能有人有疑问,2..sort或者'2'.sort会不会报错,其实是不会的,但是ture.sort会不起反应,所以最优的做法是:

    typeof variable === 'object' && variable.sort === Array.prototype.sort
    复制代码

    Object.prototype.toString.call(variable) === '[object Array]'

    基本全支持,这个是惯常的用法,非常准确

    Object.getPrototypeOf(variable) === Array.prototype

    IE9+,这也是个方法,但是需要注意,在 ES5 中,如果参数不是一个对象类型,将抛出一个TypeError异常。在 ES2015 中,参数会被强制转换为一个 Object:

    Object.getPrototypeOf('foo');
    // TypeError: "foo" is not an object (ES5 code)
    Object.getPrototypeOf('foo');
    // String.prototype                  (ES2015 code)
    复制代码

    Array.prototype.isPrototypeOf(variable)

    这样真的可以,而且基本全支持,Object.isPrototypeOf() 方法用于测试一个对象是否存在于另一个对象的原型链上。

    展开全文
  • var is_array = function(value){ return value && typeof value === 'object' && typeof value.length === '...//5 判断length属性是否是可枚举的 length是否可以通过for in 遍历出来对于数组来说会得到false
    var is_array = function(value){
    return value &&
    typeof value === 'object' &&
    typeof value.length === 'number' &&
    typeof value.splice === 'function' &&
    !(value.propertyIsEnumerable('length'));
    }
    var a = {};
    var b = [];
    console.log(is_array(a))//false
    console.log(is_array(a))//true
    //判断类型
    //1 判断这个值是否为真 不接受null 和其他为假的值
    //2 判断这个值typeof 结果是否为object
    //3 判断这个是否有一个值为数字的length
    //4 判断值是否有一个splice的方法
    //5 判断length属性是否是可枚举的 length是否可以通过for in 遍历出来对于数组来说会得到false
    展开全文
  • var foo = [1,2,3,4] ...(3)isArray() 方法判断传递的值是否是一个 Array Array.isArray(foo) (4)万能监测数据类型:Object.prototype.toString.call(数据) 返回固定格式字符 [object 数据类型] Object.prototype.to
  • 因为web服务器有两个类型,nginx和apache,需要设置两个数组一个保存所有机器的列表,一个保存nginx的机器列表,在遍历web服务器列表的同时,判断是否属于nginx的列表,如果是执行nginx fast-...
  • JavaScript判断变量是否是数组

    千次阅读 2017-06-29 08:51:58
    在某些场景下,我们可能需要判断一个JavaScript变量是否是数组。  1、在ECMAScript5标准中Array类增加了一个静态方法isArray,我们可以直接用Array.isArray来判断变量是否是数组。  Array.isArray([1,2,3]) //...
  • 判断一个变量是否是numpy数组

    千次阅读 2019-05-22 11:13:59
    使用下面代码即可 if type(figure) is np.ndarray: figure=Image.fromarray(figure)
  • 1. Array.isArray() 用于确定传递的值是否是一个 Array Array.isArray([1, 2, 3]); // true Array.isArray({foo: 123}); // false 该方式是数组构造函数上的一个方法 ECMAScript 5.1中新增的 在IE9以下不兼容 2. ...
  • 其方法并不能检测出是否是数组,只能判断其类型,所以说typeof判断基本类型数据还是挺好的,但是不能准确测试出是否是数组 判断是否为数组 1. Array.isArray() 用于确定传递的值是否是一个 Array。 Array.isArray(
  • 如何判断一个变量是不是一个数组

    千次阅读 2019-04-10 15:39:57
    判断一个变量是否是数组有几种不同的方法 使用Array.isArray 判断,如果返回 true, 说明是数组. 第一种方法的原理如下: Array.isArray = function(value) { return Object.prototype.toString.call(value) === '...
  • 1、从原型入手,Array.prototype.isPrototypeOf(obj); 利用isPrototypeOf()方法,判定Array是不是在obj的原型链中,如果是,则返回true,否则false。 2、也可以从构造函数...两者都可以用来判断变量,typeof...
  • 老生常谈的问题,怎么判断变量是否是一个数组? typeof操作符 js中检测数据类型的一种方式,可轻松检测出常用类型,例如,String,Number,Boolean,Function,Undefind,但在对象和数组之间它分不清除。 var a=[]...
  • JavaScript中如何判断一个变量是否是对象、数组在工作中难免会遇到判断一个变量是否是对象、数组的问题,今天我来总结一下1. 基础知识1.1 JavaScript的变量类型如上图所示,到目前为止JavaScript总共有8中类型,这8...
  • 只有instanceof才能判断一个对象是否是真正的数组 var arr = [] arr instanceof Array // true typeof arr // object typeof 是无法判断是否是数组的 扩展:实际应用中,和数组同样重要、起同样作用并且更加灵活的...
  • instanceof 用于判断一个变量是否某个对象的实例 var arr=[]; console.log(arr instanceof Array) //返回true 方法二:constructor constructor 属性返回对创建此对象的数组函数的引用,就是返回对象相对应...
  • 例1 代码如下:/* * * 判断数组是否含有给定的一个变量值 * 参数: * needle:需要查询的值 * haystack:被查询的数组 * 在haystack中查询needle是否存在,如果找到返回true,否则返回false。 * 此函数只能对字符...
  • js六大数据类型 number:数字,整数、浮点数等等, ...null:只有一个值得数据类型,逻辑上讲,null值表示一个空对象指针。 undefined:未定义,使用var声明变量但未对其初始化时,变量的值就是 un...
  • javascript中判断一个是否数组

    千次阅读 2016-11-24 09:08:57
    在JS中要判断一个是否数组中并没有函数直接使用,如PHP中就有in_array()这个函数。但我们可以写一个类似in_array()函数来判断是一个值否在函数中 例1  代码如下 复制代码 /* * ...
  • 这里的对象指的是纯粹对象,...instanceof运算符用于测试构造函数的prototype属性是否出现在对象的原型链中的任何位置。 var obj = {}, arr = []; obj instanceof Array //false obj instanceof Object //true a...
  • 在开发中,我们经常需要判断某个对象是否为数组类型,在Js中检测对象类型的常见方法都有哪些呢?typeof 操作符对于Function, String, Number ,Undefined 等几种类型的对象来说,...你会收到一个object 的答案,有点
  • (提示:①设待查找的数为x,设三位置变量l、m、h分别代表查找范围的顶部、中间位置和底部,m=(l+h)/2,把数分成以a[m]为中点的两段范围。②判断x 是否等于a[m],若是,则找到。③若大于a[m],则x必在后半段范围,即...
  • 引言我们如何判断一个变量是否为数组类型呢? 今天来给大家介绍七种方式,别走开, 这肯定会被问到的~继续往下看吧正文首先先告诉你们, typeof 是无法判断一个变量是否为数组类型的,我们来看一下例子:let arr = ...
  • 如何判断一个变量是否为数组? 为什么不用typeof? var list = [1,2,3];typeof list //“object” Array继承与Object,所以typeof 会直接返回object,所以不可以用typeof方法来检测 为什么不用instanceof? var list...
  • 1、从构造函数入手,obj instanceof Arraytypeof 和 instanceof 都可以用来判断变量,typeof方法返回一个字符串,来表示数据的类型; 但是typeof来判断数据类型其实并不准确。比如数组、正则、日期、对象的typeof...
  • //方法一:isPrototypeOf() 函数 : 用于指示对象是否存在于一个对象的原型链中。 console.log(Array.prototype.isPrototypeOf(arr));//true //方法二:instanceof 变量 instanceof 类型 console.log(arr ...
  • 判断一个变量一个对象: 1.原型判断: 这个方法也可以用到下面的判断数组中, 所以要是懒得记的话, 就记住这一种方法就好了 Object.prototype.toString.call(data) === ‘[object Array]’; 2.es5, 经常用的方法, ...
  • #关联数组要声明 key值和成员一样 是为了删除成员 普通的数组的删除 没成功我 declare -A member01 member01=([m00]="m00" [m01]="m01" [m02]="m02" [m03]="m03" [m04]="m04" [m05]="m05" [m06]="m06" [m07]="m0
  • javascript中要判断一个变量是否为array通常是比较困难的,因为 var a = [];  alert(typeof a === 'object'); // true 通常的做法是判断 a.constructor === Array // true 可是这个方法有一个问题,如果...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 988
精华内容 395
关键字:

判断一个变量是否是数组