首页 新闻 搜索 专区 学院

求个 js数组的笛卡尔乘积方法

0
悬赏园豆:10 [已解决问题] 解决于 2012-06-20 12:52

求个 js数组的笛卡尔乘积方法!!!!!!!!!!!

问题补充:

var a=[{1,2},{x,y}]; 里面个数不定

组合出

{1,x},{1,y},{2,x},{2,y}

︵尐_ヅ杰ˇ的主页 ︵尐_ヅ杰ˇ | 初学一级 | 园豆:69
提问于:2012-06-15 15:46
< >
分享
最佳答案
0

    var array1 = new Array('a1', 'a2', 'a3', 'a4');
    var array2 = new Array('b1', 'b2', 'b3', 'b4');

    for (var i = 0; i < array1.length; i++) {
        for (var j = 0; j < array2.length; j++) {
            alert(array1[i] + "_" + array2[j]);
        }
    }

 

这样嘛.?

收获园豆:10
只会造轮子 | 老鸟四级 |园豆:2274 | 2012-06-15 16:26

个数不定,这样只是2个数组的

︵尐_ヅ杰ˇ | 园豆:69 (初学一级) | 2012-06-15 16:33

@︵尐_ヅ杰ˇ: 

    var array = new Array(new Array('a1', 'a2', 'a3', 'a4')
                        , new Array('b1', 'b2', 'b3', 'b4')
                        , new Array('c1', 'c2', 'c3', 'c4')
                          );

    var a = array[0];
    for (var i = 1; i < array.length; i++) {
        fff(array[i]);
    }

    for (var k = 0; k < a.length; k++) {
        document.writeln(a[k]+"</br>");
    }

    function fff(array) {
        var ar = a;
        a = new Array();
        for (var i = 0; i < ar.length; i++) {
            for (var j = 0; j < array.length; j++) {
                var v = a.push(ar[i] + "_" + array[j]);
            }
        }
    }

只会造轮子 | 园豆:2274 (老鸟四级) | 2012-06-15 17:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册