use*_*330 -2 javascript arrays
我正在尝试检查数组中是否已存在元素.我知道至少有两种不同的方法:[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.我错过了什么吗?
还有,哪一个更快?
这两个都做了几乎相同的事情:检查是否myArray有一个被调用的属性"Banana",它没有; 它有按键0,1,2,和3,和值在myArray[0]恰好是"香蕉".
如果要检查字符串是否在数组中,可以使用Array.prototype.indexOf:
if( myArray.indexOf("Banana") >= 0 ) {
console.log("yes")
} else {
console.log("no")
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
199 次 |
| 最近记录: |