找出JavaScript数组是否包含对象的最简洁有效的方法是什么?
这是我知道的唯一方法:
function contains(a, obj) {
for (var i = 0; i < a.length; i++) {
if (a[i] === obj) {
return true;
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
有没有更好,更简洁的方法来实现这一目标?
这与Stack Overflow问题密切相关问题在JavaScript数组中查找项目的最佳方法是什么?它使用的方法寻找数组中的对象indexOf.
javascript arrays algorithm time-complexity javascript-objects
我的网站刚刚开始为以下 javascript 检查返回 false。我试图理解为什么。
_test = ["0e52a313167fecc07c9507fcf7257f79"]
"0e52a313167fecc07c9507fcf7257f79" in _test
>>> false
_test[0] === "0e52a313167fecc07c9507fcf7257f79"
>>> true
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我理解为什么吗?
在 Javascript 中,如何确保年龄数组具有两个年龄10,而18不仅仅是一个年龄。
var ages = [3, 10, 18, 20];
ages.filter(age => age === 10 || age === 18); // returns 10 and 18
ages.filter(age => age === 10 && age === 18); // returns null
Run Code Online (Sandbox Code Playgroud)
并&&不能确保两者都存在,因为它返回null。我知道我可以使用两种不同的ages.find/filter方法并检查组合结果,但我想知道是否有一种更优雅的方法可以在单个语句中执行此操作。
为了澄清,在ages数组中,如果我检查10(存在) 和21(不存在),它应该返回nullor false,因为其中之一不存在。