按照下面的代码片段,为什么使用IN
操作时,具有一个位置的数组无法正常工作?
您可以看到,对于2 项,操作工作正常。
- 为什么会发生这种情况?
- 解决办法是什么?
// helper function
function showResult(result) {
document.querySelector('#result').innerHTML += result+'<br/>';
}
var a = ["1"]
var b = "1"
showResult(b in a);
//false
var a = ["1","2"]
var b = "1"
showResult(b in a);
//true
<div id="result"></div>
最佳答案
这不是 in
的用途。 in
not 用于在数组中搜索元素。它用于在对象中搜索 key 。
示例:
var x = {a: 1, b: 2};
console.log('a' in x); // true
您的第二个示例之所以有效,是因为数组(对象)a
包含一个名为 1
的键。
关于Javascript IN 操作不适用于一项数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38904568/