未知数の配列とその値のすべての値をペアにしようとしています。以下は未知数の配列と値のすべての値をペアにする再帰的メソッド
私の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に見つかったカップル再帰関数を試してみましたが、無駄にしました。
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;
}
}
もちろん上記は動作しません:
私は jQueryの javascriptのですが失敗しました。誰でも再帰的なソリューションを実装する方法についての洞察を提供できますか?
ループを使用せず、再帰関数を使用します – Shaheer
*「失敗したjQueryは...」*これはいいえjQuery。 jQueryはJavaScriptと同義ではありません。 jQueryは、JavaScriptで書かれた単なるコードライブラリです。 –
これは再帰を必要としません。 *ハックに頭を下げる* – millimoose