前端面试题-如何判断一个变量是否为数组
程序员文章站
2022-03-10 18:28:14
不可以用这些方法1、typeof方法Array继承与Object,所以typeof 会直接返回object,所以不可以用typeof方法来检测2、instanceofinstanceof 表面上看确实是返回了true,但其实并不可靠。原因是Array实质是一个引用,用instanceof方法(包括下面的constructor方法)都是利用和引用地址进行比较的方法来确定的,但是在frame嵌套的情况下,每一个Array的引用地址都是不同的,比较起来结果也是不确定的,所以这种方法有其局限性。3...
不可以用这些方法
1、typeof方法
Array继承与Object,所以typeof 会直接返回object,所以不可以用typeof方法来检测
2、instanceof
instanceof 表面上看确实是返回了true,但其实并不可靠。原因是Array实质是一个引用,用instanceof方法(包括下面的constructor方法)都是利用和引用地址进行比较的方法来确定的,但是在frame嵌套的情况下,每一个Array的引用地址都是不同的,比较起来结果也是不确定的,所以这种方法有其局限性。
3、constructor
同2
//测试代码(与输出结果一一对应)
var list = [1,2,3]
console.log(typeof list);
console.log(list instanceof Array);
console.log(list.constructor);
输出结果
可靠的检测数组的方式
1、利用object的tostring方法
var list = [1,2,3]
console.log(Object.prototype.toString.call(list)); //[object Array]
2、利用ES6的Array.isArray()方法
var list = [1,2,3];
Array.isArray(list); //true
本文地址:https://blog.csdn.net/weixin_47147708/article/details/109636245
上一篇: 浅谈箭头函数
推荐阅读
-
php判断一个数组是否为有序的方法,php判断数组_PHP教程
-
程序员 - thinkphp模板问题,如何在tp框架自己的模板中判断数组是否为空?
-
(mysql)怎样判断一个数字变量是否包含在表的一个字段中,并列出包含该变量的表中所有数据.该如何处理
-
(mysql)怎样判断一个数字变量是否包含在表的一个字段中,并列出包含该变量的表中所有数据.该如何处理
-
PHP如何判断一个gif图片是否为动态图片_PHP教程
-
如何判断一个多维数组里面的值是否都为空?
-
给定一个正序的整形数组A和一个数X,判断数组A里面是否存在两个数,他们的和为X;
-
php判断一个数组是否为有序的方法_PHP教程
-
php判断一个数组是否为有序的方法
-
(mysql)怎样判断一个数字变量是否包含在表的一个字段中,并列出包含该变量的表中所有数据.该如何处理