javascript - JS中如何判断是否设置了多维数组项?

标签 javascript arrays multidimensional-array isset

如何在JS中判断是否设置了多维数组项?

w[1][2] = new Array;
w[1][2][1] = new Array;
w[1][2][1][1] = 10; w[1][2][1][2] = 20; w[1][2][1][4] = 30;

如何检查 w[1][2][1][3] 是否设置?

if (typeof w[1][2][1][3] != 'undefined') 的解决方案不起作用。

我不想使用对象而不是数组。

最佳答案

在检查其子元素之前,您没有检查先前的数组元素是否存在,因为如果父元素不存在,则子元素不存在

if( 
    typeof(w) != 'undefined' &&
    typeof(w[1]) != 'undefined' &&
    typeof(w[1][2]) != 'undefined' &&
    typeof(w[1][2][1]) != 'undefined' &&
    typeof(w[1][2][1][3]) != 'undefined' &&
  ) {
    //do your code here if it exists  
  } else {
    //One of the array elements does not exist
  }

如果发现前面的任何元素不存在,if 将运行 else 子句中的代码。如果前面的任何检查返回 false,它将停止检查其他检查。

关于javascript - JS中如何判断是否设置了多维数组项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16883473/

相关文章:

multidimensional-array - 在运行时设置数组的等级

javascript - 二进制流到 Uint8Array - JavaScript

javascript - 模板无法使用 Backbone.js 加载

javascript - window.history.replaceState 中的 'data' 是什么

javascript:对于同一类的不同对象,将数组复制到不同的变量中

javascript - 我正在尝试拆分一个包含大写字母的单词。当重复出现时失败

java - 2 维数组 (Java) - 以循环顺序打印带有字母的三角形

使用 C 中的数组计算直角三角形的斜边

javascript - 动态添加颜色到添加的文本

python - 哪种形状应该具有 LSTM NN 的输入和输出数据?