我试图得到一个像这样的结果:Miniors | Boys | 54kg - 62kg由管道分隔的每个值 来自包含某种"限制类型"的数组.例如:( ageGroups, genders, weightClasses如上所示).
我现在能够得到这个结果的方法是,如果我硬编码嵌套的forEach循环(使用underscorejs),但这意味着我现在必须循环多少个数组以获得想要的结果.这工作"很好":
var categories = [];
_.each(ageGroups, function(ageGroup) {
_.each(gender, function(gender) {
_.each(weightClasses, function(weightClass) {
categories.push(ageGroup.name + ' | ' + gender.name + ' | ' + weightClass.name);
});
});
});
Run Code Online (Sandbox Code Playgroud)
输出是一个数组(类别),包含限制数组的所有可能组合.
现在,我的问题是我需要一种方法来对未知数量的限制数组做同样的事情.我对一个正确的解决方案的猜测是递归,但我还没有能够产生任何实际工作的东西,因为我还没有能够绕着递归包裹:)
可以在这里找到一些用一些测试数据准备的小提琴:jsFiddle.小提琴使用angular来进行一些简单的数据绑定和调试结果输出和下划线来处理数组.