【发布时间】:2015-04-25 11:02:05
【问题描述】:
我有一个将整数链接到对象的数组:
var array = [];
array[3] = new Something();
array[42] = new OtherSomething();
array[84] = new SomethingAgain();
我想检查一个字段是否存在于数组中,如果存在就使用它。
var field = array[row];
如果数组不包含索引为row 的任何字段,则field 将设置为undefined。
我的问题是:检查其存在于以下之间的最佳方法是什么:
if (field !== undefined) { /* Do stuff with field */ }
还有:
if (field) { /* Do stuff with field */ }
第二种解决方案更短,因此执行起来可能更快,因为 JavaScript 是一种解释型脚本语言。但另一方面,它可能会检查布尔值 field 或类似的东西......
您对此有何看法?
【问题讨论】:
-
什么是
row以及array是如何定义的?是二维数组吗? -
@thefourtheye
row是一个整数,而数组是一个用对象填充的简单数组。我添加了一个定义示例。 -
为什么不使用对象?
-
如果您正在寻找性能,您应该尝试一下!
标签: javascript undefined