Javascript 检查循环值以查看是否有匹配项?

Javascript 检查循环值以查看是否有匹配项?,javascript,jquery,Javascript,Jquery,在ruby中,我会执行以下操作: array = [1,2,3] array.any? {|a| a == 1} => true 虽然,我遇到的不是数组,而是散列 var shop_products = {"607":607}; 我有一个复选框循环,我想对照所有当前选中的复选框检查复选框是否都被选中,然后查看是否有匹配的值,如果有,禁用/启用和隐藏/显示按钮 代码: 正如@markmeyer所提到的,有些方法可以提供帮助,但是有没有一种方法可以对哈希或alt进行使用呢 我试过这个: 也

在ruby中,我会执行以下操作:

array = [1,2,3]
array.any? {|a| a == 1}
=> true
虽然,我遇到的不是数组,而是散列

var shop_products = {"607":607};
我有一个复选框循环,我想对照所有当前选中的复选框检查复选框是否都被选中,然后查看是否有匹配的值,如果有,禁用/启用和隐藏/显示按钮

代码:

正如@markmeyer所提到的,有些方法可以提供帮助,但是有没有一种方法可以对哈希或alt进行使用呢

我试过这个:

也许我用错了

我现在的问题是,当复选框未选中时,它会看到值是“正确”的,但当我取消选中时,它不会显示按钮。不知怎么的,我在做错事

在JSFIDLE中,我有所有的输入,但我只希望在选中带有特定参数的记录时(在示例中,这是value=607,可以是任意数量,但在示例中,我将其作为1个记录/输入)出现(2个按钮中的一个)。但是当我取消选中607作为唯一选中的输入时,它运行隐藏/禁用而不是显示


我的代码出了什么问题?

听起来你在找

设a=[1,2,3]
log(a.some(n=>n==1))//true
console.log(a.some(n=>n==4))//false

.some
似乎是完成它的方法,但我无法让它与哈希一起工作。我相信这是可能的。尽管如此,我最终只是通过散列检查未定义的值,而不是尝试将检查值与散列值匹配,而且速度可能会明显加快

   for (var check of checked_checkboxes_check) {
      if (shop_products[check.value] === undefined) {
        print_submit.hide().prop("disabled", true);
        break;
      } else {
        print_submit.show().prop("disabled", false);
      }
    } 

这看起来是正确的方向,但是如何对哈希值使用它呢?