Jquery 在JSON中搜索键值对集

Jquery 在JSON中搜索键值对集,jquery,json,wordpress,woocommerce,Jquery,Json,Wordpress,Woocommerce,我有一个JSON对象中所有可能的独特产品变体组合的列表[woocommerce就是这样构建的]。例如,我有一款产品有两种尺寸——尺寸1和尺寸2,颜色1和颜色2: variant_list = [ { "variation_id":328, "attributes":{ "size":"size1", "color":"color1" } },

我有一个JSON对象中所有可能的独特产品变体组合的列表[woocommerce就是这样构建的]。例如,我有一款产品有两种尺寸——尺寸1和尺寸2,颜色1和颜色2:

variant_list = [
       {
          "variation_id":328,
          "attributes":{
             "size":"size1",
             "color":"color1"
          }
       },
       {
          "variation_id":329,
          "attributes":{
             "size":"size2",
             "color":"color1"
          }
       },
       {
          "variation_id":330,
          "attributes":{
             "size":"size1",
             "color":"color2"
          }
       },
       {
          "variation_id":331,
          "attributes":{
             "size":"size2",
             "color":"color2"
          }
       ]
如果用户使用单选按钮选择了特定的大小和颜色组合,例如选择了size2和color1,我需要将变体id:329传递到后端。使用属性标准集={size:size2,color:color1}搜索我的JSON的最佳方法是什么

我的variant_list对象已给出-我无法更改它,但可以根据需要构建我的criteria对象,以使此搜索简单高效

我所做的尝试也很有效,但我知道这是老生常谈,效率低下:-

您可以使用库函数或任何其他适合您查找字段的函数

比如说

您可以使用类似于我使用javascript的东西

result = _U.findWhere(variant_list,{size:'user value',color:'user value'});
console.log(result.variation_id);

希望这能对你有所帮助。

我在你的小提琴上有一些简单的更新 我添加了这个代码

function find(){
    var a=$("input[name=size]:checked").val();
    var b=$("input[name=color]:checked").val();

     for(var i=0;i< variant_list.length; i++){
         if(variant_list[i].attributes.size==a &&variant_list[i].attributes.color==b ){
           alert(variant_list[i].variation_id);   
         }
    }  

}

等等我的JSFIDLE恢复到旧版本。我现在就修。好的。更新了我的JSFiddle.Hi@user1880957检查我的CodeUnderline.js似乎是正确的选择。我去看看。