我試圖將未知數量的數組和它們的值的所有值配對。遞歸方法來配對未知數量的數組和值的所有值
下面是我的JSON:
{"AttributeGroups":
[
{"Name":"Color","Attributes":
[
{"Name":"Grey"},
{"Name":"Blue"},
{"Name":"Pink",}
]
},
{"Name":"Size","Attributes":
[
{"Name":"XXS"},
{"Name":"XS"},
{"Name":"S"},
{"Name":"M"},
{"Name":"L"},
{"Name":"XL"},
{"Name":"XXL"}
]
},
{"Name":"Cut","Attributes":
[
{"Name":"Diamond"},
{"Name":"Loose"}
],
}
]}
我想要實現有效的是:
GreyXXSDiamond
GreyXSDiamond
GreySDiamond
...
GreyXXSLoose
GreyXSLoose
...
BlueXXSDiamond
BlueXSDiamond
...
我已經試過了幾個遞歸函數發現SO,但無濟於事。
我的失敗的jQuery JavaScript是:
if (product.AttributeSet.AttributeGroups.length > 0) {
var groupIndex = 0;
for (var g = 0; g < product.AttributeSet.AttributeGroups.length; g++) {
var group = product.AttributeSet.AttributeGroups[g];
for (var a = 0; a < group.Attributes.length; a++) {
var attribute = group.Attributes[a];
var x = 0;
var otherAtts = '';
for (var g2 = 0; g2 < product.AttributeSet.AttributeGroups.length; g2++) {
if (g2 > groupIndex) {
var group2 = product.AttributeSet.AttributeGroups[g2];
for (var a2 = 0; a2 < group2.Attributes.length; a2++) {
var attribute2 = group2.Attributes[a2];
otherAtts += attribute2.Name;
}
}
}
console.log(attribute.Name + otherAtts);
}
break;
}
}
顯然上述不起作用。任何人都可以提供有關如何實現遞歸解決方案的任何見解?
不使用循環中,使用遞歸函數 – Shaheer 2012-02-04 22:44:56
*「我失敗了jQuery是......」 *這是沒有t jQuery。 jQuery不是JavaScript的同義詞。 jQuery只是一個用JavaScript編寫的代碼庫。 – 2012-02-04 22:57:53
這不需要遞歸。 *頭向黑客* – millimoose 2012-02-04 23:04:27