javascript - 在 javascript 或 jquery 中等效于方法 .some()?

标签 javascript equivalent

正在寻找“等效于 javascript 中的某些方法”和“如果在数组中则只返回一个值”,但只看到了确定变量类型或太多不必要的方式的答案。

我绕过 html 中的所有输入,我想要这样的东西:

$('#goodsFilter')
    .find('input[type="number"]')
    .some(function(i,el){
        return (isNumber($(el).val())) ? 1 : 0;
});

但是它抛出一个错误:

"TypeError: 'undefined' is not a function" (eg. Safari 6.0.4).


UPD:错误来自最后一行,是的,});。 是编号:

function isNumber(n) { return !isNaN(parseFloat(n)) && isFinite(n); }

这应该检查每个输入信息是否存在,如果至少有一个不为空,则返回 1,否则返回 0。 我如何替换它以在大多数现代浏览器中工作?

更新: 问题解决了。我在选择答案时有点困惑。 @RobG 实现 .some() 的代码对于初学者(我也是)更容易理解,所以我改变了我的投票。

最佳答案

对于来到这个线程的任何其他人,您可以通过这种方式在 jQuery 对象上使用 some():

 $.makeArray($(...)).some(function(x) { ... })

jQuery.makeArray() 将 jQuery 对象转换为数组,因此您可以在其上使用 some()


正如@alf-eaton 所建议的,您可以使用:

$(…).toArray().some(function(node) { … })

关于javascript - 在 javascript 或 jquery 中等效于方法 .some()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16270553/

相关文章:

javascript - clearRect 绘制垂直线时不清除 Canvas

javascript - 以一定 Angular 移动,jquery,animate()?

javascript - 使用button_to时将JS参数传递给 Controller

php - .NET 中 PHP 的 InfiniteIterator 的等效项是什么?

Java:我可以在枚举中使用两个不同的名称来算作同一事物吗?

javascript - 如何将幻灯片合并到 HTML 中?

javascript - Ajax 的多个 JsonArrays 和 JSONobject 返回成功?

python - 在 Python 中执行 Ruby array.pack 的等效方法

c# - C# 中的 memset 是什么?