如图示,规格可以一直添加,也就是说规格生成的数组个数不确定,根据规格生成的数组中的个数分别两两结合成一个值
下面是有人帮忙的解答
show_all = function combine ([item, ...arr]) {
if (arr.length) {
const sub = combine(arr);
const res = [];
sub.forEach(s => item.forEach(i => res.push(`${i},${s}`)))
return res
} else {
return item
}
};
show_all([
['白色', '蓝色', '红色'],
['50cm'],
['大', '中', '小'],
['L', 'M', 'S'],
])
这个结果是对的,但是需求有一个要求就是要按顺序输出,【白色】的所有先输出,再出【蓝色】,再出【红色】,这种是生成结果后再做排序,还是可以有方法直接这样输出?