我有一個JSON對象,它是這樣的,我有和我的JSON對象「單品」價值隨機參數使用jquery獲取與json對象中提供的值匹配的對象?
像
var mytestvalue="Fit:Regular,Color:Coyote (120)"; or
var mytestvalue="Color:Coyote (120),Fit:Regular";
[
{
"index":0,
"title":"Foo1",
"skus":"Fit:Regular,Size:6,Color:Coyote (120)",
},
{
"index":1,
"title":"Foo2",
"skus":"Fit:Regular,Color:Coyote (120),Size:65",
},
{
"index":2,
"title":"Foo3",
"skus":"Fit:Regular,Size:7,Color:Coyote (120)",
},
{
"index":0,
"title":"Foo4",
"skus":"Color:Coyote (120),Fit:Regular,Size:7.5",
},
{
"index":1,
"title":"Foo5",
"skus":"Fit:Slim,Size:8,Color:Coyote (120)",
},
{
"index":2,
"title":"Foo6",
"skus":"Fit:Regular,Size:9,Color:Coyote (120)",
},
{
"index":0,
"title":"Foo7",
"skus":"Fit:Regular,Size:8.5,Color:Coyote (120)",
},
{
"index":1,
"title":"Foo8",
"skus":"Fit:Regular,Size:10,Color:Coyote (120)",
},
{
"index":2,
"title":"Foo9",
"skus":"Fit:Slim,Color:Coyote (120),Size:13",
},
{
"index":0,
"title":"Foo10",
"skus":"Fit:Regular,Size:8.5,Color:Coyote (120)",
},
{
"index":1,
"title":"Foo11",
"skus":"Fit:Regular,Size:10,Color:Coyote (120)",
},
{
"index":2,
"title":"Foo12",
"skus":"Fit:Regular,Color:Coyote (120),Size:13",
}
]
我寫了一個函數來獲得的SKU匹配的組合變量i有
function getSkuCombinations(obj,prodskuval) {
var combres = $.grep(obj, function (o) { //Will give you all the matches
return o.SKUOptions.indexOf(prodskuval) > -1;
});
return combres;
}
我這樣調用
var combinationresults=getSkuCombinations(myobj,mytestvalue)
此功能
當我這樣做,我應該得到所有這些都是組合「mytestvalue」這是我通過,但這個功能現在只返回我
var myresult= [{
"index":1,
"title":"Foo2",
"skus":"Fit:Regular,Color:Coyote (120),Size:65",
}]
任何一個可以幫助我在做這個
此功能的單品解決我的問題,
function getSkuCombinations(obj,prodskuval) {
var combres = $.grep(obj, function (o) { //Will give you all the matches
var newskus=o.skus.split(',').sort().join(',');
var newprdskus=prodskuval.split(',').sort().join(',');
return newskus.indexOf(newprdskus) > -1;
});
}
您的函數getSkuCombinations不會返回任何內容。必須返回梳理? – Jhonathan
是的,我忘了addit這裏是的,它返回梳理 – SoftwareNerd
@Jhonathan我改變了,你現在可以檢查這個 – SoftwareNerd