当前位置: 首页 > 面试题库 >

如何检查JavaScript中的变量是否为数组?

陈龙野
2023-03-14
问题内容

我想检查一个变量在JavaScript中是数组还是单个值。

我找到了可能的解决方案…

if (variable.constructor == Array)...

这是最好的方法吗?


问题答案:

有几种检查变量是否为数组的方法。最好的解决方案是您选择的解决方案。

variable.constructor === Array

这是Chrome上最快的方法,很可能是所有其他浏览器上的方法。所有数组都是对象,因此检查构造函数属性对于JavaScript引擎来说是一个快速的过程

如果在确定对象属性是否为数组时遇到问题,则必须首先检查该属性是否存在。

variable.prop && variable.prop.constructor === Array

其他一些方法是:

Array.isArray(variable)

更新2019年5月23日使用Chrome 75,喊出@AnduAndrici邀请我与他的问题重温这段 最后一项是,在我看来最丑陋的,它是对一个
最慢的 速度最快。 作为第一个示例,运行速度约为1/5。
这个家伙慢了大约2%到5%,但这很难说。牢固使用!结果给人留下了深刻的印象。Array.prototype实际上是一个数组。

variable instanceof Array

作为第一个示例,此方法的运行 速度 约为 1/3
。如果您只关注漂亮的代码,而不是关注太多性能,则它仍然很坚固,看上去更干净。请注意,检查数字并不variable instanceof Number总是返回false更新:instanceof现在速度提高了2/3!

所以还有另一个更新

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

这个家伙是最慢的尝试检查数组的人。但是,这是您要寻找的任何类型的一站式商店。但是,由于您要查找数组,因此请使用上面最快的方法。



 类似资料:
  • 本文向大家介绍如何检查变量是否为JavaScript中的数组?,包括了如何检查变量是否为JavaScript中的数组?的使用技巧和注意事项,需要的朋友参考一下 要检查变量是否为数组,请使用“ instanceof。以下是语法- 示例 让我们看一个检查变量“ sports”是否为数组的示例?

  • 问题内容: 如何检查JavaScript中的变量是否为整数,如果不是,则引发警报?我试过了,但是不起作用: 问题答案: 使用===运算符(严格等于,如下所示:

  • 本文向大家介绍如何检查JavaScript变量是否为函数类型?,包括了如何检查JavaScript变量是否为函数类型?的使用技巧和注意事项,需要的朋友参考一下 使用“ typeof”检查它是否是一个函数。您可以尝试运行以下代码来检查JavaScript变量是否为函数类型: 示例

  • 问题内容: 我想知道如何检查变量是否是类(不是实例!)。 我试图使用该函数来执行此操作,但我不知道类将具有哪种类型。 例如,在以下代码中 我试图用 ??? 代替“ ” ,但我意识到这是python中的关键字。 问题答案: 更好的是:使用该功能。

  • 本文向大家介绍如何检查JavaScript中是否定义了变量?,包括了如何检查JavaScript中是否定义了变量?的使用技巧和注意事项,需要的朋友参考一下 要检查变量是否为“未定义”,您需要使用以下命令进行检查。如果结果为“ false”,则表示未定义变量。在这里,变量结果为“ True”,即定义为- 示例

  • 问题内容: 如何确定变量是字符串还是JavaScript中的其他内容? 问题答案: 您可以使用运算符: 在使用创建的字符串的情况下,这将无法正常工作,但很少使用,建议在[1][2]中使用。如果需要,请参阅其他答案以了解如何处理这些问题。