javascript 或 php 的一道排列组合题

现在一个商品的属性是未知的,有可能只有颜色和尺寸属性,也有可能有颜色和尺寸和腰围,颜色:红,黄,蓝尺寸:大,中,小腰围:23,24,25想列出若干组属性的所有组合,该如何... 现在一个商品的属性是未知的,有可能只有颜色和尺寸属性,也有可能有颜色和尺寸和腰围,
颜色:红,黄,蓝
尺寸:大,中,小
腰围:23,24,25
想列出若干组属性的所有组合,该如何写呢?
比如 红大23,红大24以此类推
展开
 我来答
匿名用户
推荐于2016-03-02
展开全部
// js:

var recursionSub = function(list, count, array, ind, start, indexs) {
    start++;
    if (start > count - 1) {
        return;
    }
    if (start == 0) {
        indexs = new Array(array.length);
    }
    for (indexs[start] = 0; indexs[start] < array[start].length; indexs[start]++) {
        recursionSub(list, count, array, 0, start, indexs);
        if (start == count - 1) {
            var temp = new Array(count);
            for (var i = count - 1; i >= 0; i--) {
                temp[start - i] = array[start - i][indexs[start - i]];
            }
            list.push(temp);
        }
    }
}
var colors = "红黄蓝".split("");
var sizes = "大中小".split("");
var circs = "23,24,25".split(",");
var temp = [
    colors, sizes, circs
];
var list = [];
recursionSub(list, temp.length, temp, 0, -1);
for (var i = 0; i < list.length; i++) {
    console.log(list[i].join(""));
}
更多追问追答
追问
您乃大神也!能说说您的思路吗大神,我怎么想不出来呢?
追答
这个是活数据的做法,使用递归

如果你的数据是死的,
那就可以用求知者的方法,写死3个循环嵌套即可。
软件开发枫老师
2015-11-27 · TA获得超过585个赞
知道小有建树答主
回答量:599
采纳率:63%
帮助的人:321万
展开全部
<?php
$color = array('红','黄','蓝');
$type = array('大','中','小');
$size = array('23','24','25');
foreach ($color as $key => $value) {
    foreach ($type as $ke => $va) {
        foreach ($size as $k => $v) {
            echo $value.'-'.$va.'-'.$v.'<br>';
        }
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式