在JavaScript或jQuery中是否有IEnumerable.Any(Predicate<T>)
的相等方法?
我正在验证一组项目,如果检测到错误,我想尽早退出。我可以使用$.each
来实现,但我需要使用一个外部标志来查看项目是否实际被找到:
var found = false;
$.each(array, function(i) {
if (notValid(array[i])) {
found = true;
}
return !found;
});
有更好的方法吗?我不喜欢在JavaScript数组中使用简单的for
,因为它会遍历其所有成员,而不仅仅是值。
some()
方法对数组中的每个元素执行回调函数,直到找到一个使回调函数返回 true 的元素。如果找到这样的元素,some()
将立即返回 true。否则,some()
返回 false。 - Simon_WeavermyArray.some(c=>c)
来模仿 LINQ 中 .Any() 的功能。请注意,在 LINQ 中,.Any() 方法不需要委托,而 .some() 则需要。如果尝试在没有委托的情况下调用 .some(),将会导致错误,因为委托将是未定义的。 - Hardrada