检查数组元素是否存在的安全方法?

Jor*_*dan 8 javascript arrays null elements multidimensional-array

我有一个二维数组。我目前使用符号访问该数组,例如:

myArray[5][9] (例如)。

检查某个数组元素是否存在最安全的方法是什么?例如,假设我正在遍历数组并检索每个数组元素的属性,如下所示:

myArray[5][9].firstName

然后我来到myArray[9][11].firstName(例如)不存在的。显然,这将引发异常,因为该元素不存在。

我该如何处理?我没有遍历整个数组(我随机访问它的内容并说myArray.length在 for 循环中使用将不起作用。

是否有用于检查数组元素是否存在的 JS 函数/方法?

谢谢。

Dro*_*age 32

安全呼叫操作员 ?.看起来不错。警告:许多(但并非所有)JavaScript 实现(和版本)都支持它。

对于你的例子,它看起来像

myArray[5][9]?.firstName
Run Code Online (Sandbox Code Playgroud)

编辑:感谢阿萨夫 评论,有更安全的版本

myArray?.[5]?.[9]?.firstName
Run Code Online (Sandbox Code Playgroud)


Suf*_*ori 3

喜欢

if (!('firstname' in myArray[i][j])) { ... }
Run Code Online (Sandbox Code Playgroud)