Javascript 筛选jquery数据的任何选项,如linq中的.Any()

Javascript 筛选jquery数据的任何选项,如linq中的.Any(),javascript,jquery,loops,Javascript,Jquery,Loops,在这种情况下,我必须检查jQueryAjax调用结果数据中是否存在值。我正在为每个循环执行一次检查,以检查结果数据中是否存在id值。我们有没有其他最好的选择来检查这一点,而不是循环。我喜欢林克的任何一种一次性检查的。在jquery中有其他的想法吗 var id=10; success: function (result) { var found = false; $.each(result.value, fun

在这种情况下,我必须检查jQueryAjax调用结果数据中是否存在值。我正在为每个循环执行一次检查,以检查结果数据中是否存在id值。我们有没有其他最好的选择来检查这一点,而不是循环。我喜欢林克的任何一种一次性检查的。在jquery中有其他的想法吗

 var id=10;
 success: function (result) {

                    var found = false;
                    $.each(result.value, function (i, item) {
                        if (item.Group_Id == Id) {
                            found = true;
                        }
                    });
                    if (!found) {
                        alert('Not Found');
                    }
jQuery有一个应该与您的请求相匹配的函数

考虑一下,即使是
any()
也确实枚举了所有元素,因为这些算法具有无法避免的内在最小复杂性。完整枚举的另一种选择是带有bucket的散列集(很像ISAM索引),但这是完全不同的情况,因为这样您就必须预先计算索引本身

因此,实际上,无论您使用什么方法(每个或过滤器以及几乎所有LinQ to Collection方法),实际上都具有相同的复杂性


我要感谢他关于使用grep的有用评论。阅读下面的链接到他提议的页面。我同意他和ajp15243的观点。

如果不搜索,我会说没有这样的方法,但代码有什么问题?仅供参考。虽然它隐藏了循环,使代码看起来更漂亮,但如果没有循环,它无法神奇地更高效地运行。谢谢。我知道即使在Linq,你的评论也会是一样的背景工作。另一方面,我正在寻找一个更干净的代码。IMO,这段代码是干净的(但可以优化),但您可以构建自己的原型函数…过滤器用于DOM元素。您真正想要使用的是,
filter
似乎可以在任意对象的jQuery包装数组上工作,即使jQuery的
.foo()
方法是在DOM元素的jQuery对象列表上调用的。我想这并不奇怪,但我不确定在给定预期用例的情况下,人们应该在多大程度上依赖于这种行为。例如:
arr=[{a:1},{a:2},{b:'foo'}]$(arr).filter(函数(){返回this.a;})