如何检查JavaScript对象或数组中是否存在特定键?
如果某个密钥不存在,并且我尝试访问它,它会返回false吗?或抛出错误?
希望是一个简单的问题.
为什么检查多维数组中是否存在键:
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');
}
Run Code Online (Sandbox Code Playgroud)
似乎不是一般的工作,但它检查第一个索引(在这种情况下,'0')是由'定义' a[0][x].例如,当我要求a[0][2](未定义)时,它会显示第一个警报.但是,当我要求时a[1][0],我得到:
"未捕获的TypeError:无法读取未定义的属性'0'"
我怎么解决这个问题?
谢谢
我正在尝试检查数组中是否已存在元素.我知道至少有两种不同的方法:[1] 和[2].
我测试了它们,但no在两种情况下都可以:
var myArray = ["Banana", "Orange", "Apple", "Mango"];
if ("Banana" in myArray) {
console.log("yes")
} else {
console.log("no") // <--
}
if (typeof myArray["Banana"] === 'undefined') {
console.log("no") // <--
} else {
console.log("yes")
}
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,我得到no.我错过了什么吗?
还有,哪一个更快?