有一个像这样的json
{
"SkuProduct": [
{
"ProductId": 2547,
"ProductName": "T-shirt",
"SalePrice": 0.03,
"SkuProps": [
{
"PropValueId": 30,
"PropCode": "body_type_cn"
},
{
"PropValueId": 16,
"PropCode": "color_cn"
},
{
"PropValueId": 20,
"PropCode": "size_cn"
}
]
},
{
"ProductId": 2553,
"ProductName": "T-shirt",
"SalePrice": 0.05,
"SkuProps": [
{
"PropValueId": 31,
"PropCode": "body_type_cn"
},
{
"PropValueId": 16,
"PropCode": "color_cn"
},
{
"PropValueId": 20,
"PropCode": "size_cn"
}
]
},
{
"ProductId": 2559,
"ProductName": "T-shirt",
"SalePrice": 0.07,
"SkuProps": [
{
"PropValueId": 30,
"PropCode": "body_type_cn"
},
{
"PropValueId": 16,
"PropCode": "color_cn"
},
{
"PropValueId": 20,
"PropCode": "size_cn"
}
]
},
{
"ProductId": 2563,
"ProductName": "T-shirt",
"SalePrice": 0.08,
"SkuProps": [
{
"PropValueId": 31,
"PropCode": "body_type_cn"
},
{
"PropValueId": 16,
"PropCode": "color_cn"
},
{
"PropValueId": 23,
"PropCode": "size_cn"
}
]
},
{
"ProductId": 2565,
"ProductName": "T-shirt",
"SalePrice": 0.09,
"SkuProps": [
{
"PropValueId": 31,
"PropCode": "body_type_cn"
},
{
"PropValueId": 16,
"PropCode": "color_cn"
},
{
"PropValueId": 20,
"PropCode": "size_cn"
}
]
}
],
"SellProps": [
{
"PropCode": "color_cn",
"PropName": "Color",
"Props": [
{
"Id": 16,
"PName": "Red"
}
]
},
{
"PropCode": "size_cn",
"PropName": "Size",
"Props": [
{
"Id": 20,
"PName": "M"
},
{
"Id": 23,
"PName": "XXL"
}
]
},
{
"PropCode": "body_type_cn",
"PropName": "Type",
"Props": [
{
"Id": 30,
"PName": "165/80A"
},
{
"Id": 31,
"PName": "170/84A"
}
]
}
]
}
你可以检查图片,当我点击XXL选项时,你可以从'SellProps'找到它,id是23,我需要使用id来过滤'SkuProduct', 我需要从SkuProduct循环SkuProps来检查PropCode名称'size_cn',正如你所看到的,PropValueId没有匹配,所有20都是大小'M',所以我应该选择其余的选项.. 我不知道我的描述非常清楚..
每次单击某个选项时,是否有一种简单的方法可以检查,它可以告诉哪个选项应该禁用...最后可以获得自己的ProductId ..?我在函数中写了一个循环,函数中有太多的循环..它如此错误..
答案 0 :(得分:0)
我想我有一个(未经考验的)想法。
由于您已经拥有XXL id(23),因此您可以使用此值执行以下操作:
1000 loops, best of 3: 1.63 ms per loop
这将返回一个数组,该数组包含一个带有产品的对象,以及一个SkuProp对象(如果在产品的道具中找到大小)或者什么都没有。玩弄它并告诉我它是否有效,或者至少让你走上正确的道路。
祝你好运!