希望是一个简单的问题.
为什么检查多维数组中是否存在键:
a = new Array(Array()); a[0][0]='1'; a[0][1]='2'; if(a[1][2] == undefined){ alert("sorry,that key doesn't exist"); } else {alert('good,your key exists'); }
似乎不是一般的工作,但它检查第一个索引(在这种情况下,’0′)由[0] [x]’定义’时有效.例如,当我要求[0] [2](未定义)时,它会显示第一个警报.但是,当我要求[1] [0]时,我得到:
“Uncaught TypeError: Cannot read property ‘0’ of undefined”
我怎么解决这个问题?
谢谢
解决方法
首先检查第一个维度是否存在,然后检查第二个维度中的密钥是否存在
如果第一个测试返回false,则逻辑将返回false,并且仅当第一个测试返回true时才测试第二个维度.
if(a[1] == undefined && a[1][2] == undefined)