现在有一个不确定长度的数组.
比如:
var temp=[
["Fu","Hai","Huan"],
["Wei","You"],
["Chong","Tong","Zhong"]
];
每一个数组的长计都不确定  ,
如何 遍历这个数组
得到如: FuWeiChong ,FuWeiTong
这样的数据

解决方案 »

  1.   


    var temp=[["Fu","Hai","Huan"],
    ["Wei","You"],
    ["Chong","Tong","Zhong"]];
    for(var i=0;i<temp[0].length;i++){
      for(var j=0;j<temp[1].length;j++){
        for(var k=0;k<temp[2].length;k++){
    alert(temp[0][i]+temp[1][j]+temp[2][k]);
          }
       }
    }
    这个意思?
      

  2.   


    你这样写的话,就把temp的长度固定了
      

  3.   

    function doExchange(doubleArrays) {
        var len = doubleArrays.length;
        if (len >= 2) {
            var len1 = doubleArrays[0].length;
            var len2 = doubleArrays[1].length;
            var newlen = len1 * len2;
            var temp = new Array(newlen);
            var index = 0;
            for (var i = 0; i < len1; i++) {
                for (var j = 0; j < len2; j++) {
                    temp[index] = doubleArrays[0][i] + doubleArrays[1][j];
                    index++;
                }
            }
            var newArray = new Array(len - 1);
            if (len > 2) {
                for (var ix = 0; ix < len - 2; ix++) {  
                    newArray[ix + 1] = doubleArrays[ix + 2];
                }
            }
            newArray[0] = temp;
            return doExchange(newArray);
        }
        else {
            return doubleArrays[0];
        }
    }
    http://q.cnblogs.com/q/29093/
      

  4.   

    注释没写,LZ自己看吧
    function each(arr, fn) {
    var len = arr.length;
    for(var i = 0; i < len; i++) {
    fn(arr[i]);

    }

    function merge(arr1, arr2) {
    var temp = [];
    each(arr1, function(v1) {
    each(arr2, function(v2) {
    temp.push(v1 + v2);
    });
    });
    return temp;
    }

    function display(arr) {
            var temp = arr.slice(0);
    var result = temp.shift();
    each(temp, function(v) {
    result = merge(result, v);
    });
    return result;
    } var temp1 = [["Fu", "Hai", "Huan"], ["Wei", "You"], ["Chong", "Tong", "Zhong"]];
    var re = display(temp1);
    each(re, function(v) {
    document.write(v + '<br/>');
    });
      

  5.   

    <script type="text/javascript">
    var arr=[
        ["Fu","Hai","Huan"],
        ["Wei","You"],
        ["Chong","Tong","Zhong"]
    ];
    var temp=new Array(arr.length)
    for(var i=0;i<temp.length;i++)
        temp[i]=0;
    var index=arr.length-1;
    while(index>=0){
        for(var i=0;i<arr.length;i++){
            document.write(arr[i][temp[i]]+"&nbsp;&nbsp;");
        }
        document.write("<br/>");
        index=arr.length-1;
        while(index>=0&&++temp[index]==arr[index].length){
            temp[index]=0;
            index--;
        }
    }
    </script>
    /*
    Fu  Wei  Chong  
    Fu  Wei  Tong  
    Fu  Wei  Zhong  
    Fu  You  Chong  
    Fu  You  Tong  
    Fu  You  Zhong  
    Hai  Wei  Chong  
    Hai  Wei  Tong  
    Hai  Wei  Zhong  
    Hai  You  Chong  
    Hai  You  Tong  
    Hai  You  Zhong  
    Huan  Wei  Chong  
    Huan  Wei  Tong  
    Huan  Wei  Zhong  
    Huan  You  Chong  
    Huan  You  Tong  
    Huan  You  Zhong  */
      

  6.   


    var temp = [
    ["Fu","Hai","Huan"],
    ["Wei","You"],
    ["Chong","Tong","Zhong"],
    "1","2",
    ["5","4","8"]
    ];


    function isArray(obj){
    return Object.prototype.toString.call(obj) === "[object Array]"
    }

    var str = "";

    function recursion(arr){
    for (var i = 0, j = arr.length; i < j; i++) {
    var m = arr[i];
    if (isArray(m)){
    arguments.callee(m);
    } else {
    str += arr[i] + ",";
    }
    }
    }

    recursion(temp);

    alert(str);
      

  7.   

    var ss="";
    var temp=[["1","2","3"],["a","b","c","d"],["A","B"],["+","-","*","/"]];
    var nullcount=0;
    function display(item,index) {
    if (isArray(item)&&isArray(item[0])) {
    for (var i=0; i < item.length; i++) {
    display(item[i],index);
    };
    if(nullcount==temp.length)return;
    ss+=",";
    display(item,index+1);
    }else if(isArray(item)){
    //计算二级数组最大长度,全部递归完时跳出
    if(item[index]==undefined){
    nullcount++;
    }else{
    nullcount=0;
    }
    ss+=item[index]||"";//剔除undefined
    }
    };
    display(temp,0);
    alert(ss);
      

  8.   

    输入结果是1aA+,2bB-,3c*,d/,
    楼主要的应该是这样的吧