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

2021-01-05 07:02:08 字数 3561 阅读 4914

1楼:折柳成萌

因为无论是数组还是对象,对于typeof的操作返回值都为object,所以就有了区分数组类型和对象类型的需要:

方一:通过length属性:一般情况下对象没有length属性值,其值为undefiend,而数组的length值为number类型

缺点:非常不实用,当对象的属性存在length,且其值为number(比如类数组),则该方法失效,不建议使用,看看即可。

*方二:通过instanceof来判断区分

var arr = [1, 2, 3]; var obj = console.log(arr instanceof array); //trueconsole.log(obj instanceof array); //false

*方三:通过constructor

var arr = [1, 2, 3]; var obj = console.log(arr.constructor === array); //trueconsole.

log(obj.constructor === array); //false

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

2楼:匿名用户

因为无论是数组还是对象,对于typeof的操作返回值都为object,所以就有了区分数组类型和对象类型的需要:

方一:通过length属性:一般情况下对象没有length属性值,其值为undefiend,而数组的length值为number类型

缺点:非常不实用,当对象的属性存在length,且其值为number(比如类数组),则该方法失效,不建议使用,看看即可。

*方二:通过instanceof来判断区分

var arr = [1, 2, 3]; var obj =

console.log(arr instanceof array); //true

console.log(obj instanceof array); //false

*方三:通过constructor

var arr = [1, 2, 3]; var obj =

console.log(arr.constructor === array); //true

console.log(obj.constructor === array); //false

javascript如何判断一个变量是普通变量还是数组还是对象?

3楼:匿名用户

1、使用typeof操作符检测变量类型

数组、null、object 为 object 类型字符串 为 string 类型

true和false 为 boolean 类型整型、浮点型为 number 类型

2、如果要区分数组和非数组对象,需要使用构造函数来判断if(arr.constructor==array)// arr 是数组

else

// arr 不是数组

请问js怎么判断一个变量是对象还是数组呢?

4楼:太原东方医院

在javascript中所有数据类型严格意义上都是对象,但实际使用中我们还是有类型之分,如果要判断一个变量是数组还是对象使用typeof搞不定,因为它全都返回object

var o = ;

var a = ['reg','blue'];

var getdatatype = function(o)else

}else

}; alert( getdatatype(o) ); // object

alert( getdatatype(a) ); // array

alert( getdatatype(1) ); // param is no object type

alert( getdatatype(true) ); // param is no object type

alert( getdatatype('a') ); // param is no object type

js 中判断变量是数组还是对象,和判断对象是否为空

5楼:

判断是不是数组,用.isarray(obj),判断对象有没有成员,用for(member of obj),没有成员的一次也不迭代

javascript中判断变量是数组还是对象

6楼:育知同创教育

判断是否是数组

array.isarray(arrayinstance);

判断是否是对象object.prototype.tostring.call(objectinstance) === '[object object]'

7楼:你是伤口的寂寞

使用 instanceof 操作符

怎么判断一个变量是数组array类型

8楼:匿名用户

var arr = [1,2,3,1];

var arr2 = ;

function isarrayfn(value)else} alert(isarrayfn(arr));// truealert(isarrayfn(arr2));// true

javascript 判断判断某个对象是object还是一个array

9楼:匿名用户

这个有个笨办法,就是写以下**判断a是否为数组

trycatch(e)

就是用try...catch**块来尝试进行数组的特有操作,如果不报错,那就是数组了

10楼:匿名用户

使用instanceof可以判断一个变量的数据类型,见下面的例子:

function test2();

var f = function()

var of = new f();

document.writeln(a instanceof array);

document.writeln(d instanceof date);

document.writeln(o instanceof object);

document.writeln(f instanceof function);

document.writeln(of instanceof f);

} test2();

请问js如何判断是一个变量是否是数组呢?

11楼:渁龍蝎

//这里提供两种js方法。返回true则是数组。

vararray=newarray("1","2","3","4","5");

alert(arrayinstanceofarray);

alert(array.constructor==array);

//较为严谨并且通用的方法:

functionisarray(object)

js判断变量是否赋值(存在),js判断一个变量或对象是否存在

1楼 匿名用户 如标题所问 常见有的js 中有如下写法 if arg 通过以上语句来判断变量是否存在 按理说if后应跟着一个boolean的表达式 但arg如果不存在则是undefined 存在则为变量本身存储的值 通过所示的语句如何能准确的判断一个变量是否已定义 该怎么理解呢 望各位能指点迷津 问...

js判断对象是否为空,JS怎么判断一个对象是否为空?

1楼 内的权势 你是判断的a b c里面的内容是否为空 给三个div id分别为a b c var a document getelementbyid 你的id innerhtml就可以取得内容 你判断 a 就是空的,无内容 js怎么判断一个对象是否为空? 2楼 嗳尔 判断一个对象是否为空,介绍如下...

如何判断PHP数组是否为空,怎么判断ArrayList数组是否为空

1楼 育知同创教育 为空,具体有2种方法 1 isset功能 判断变量是否被初始化 说明 它并不会判断变量是否为空,并且可以用来判断数组中元素是否被定义过 注意 当使用isset来判断数组元素是否被初始化过时,它的效率比array key exists高4倍左右 php a a c if isset...