var arrnana=new Array();function doArr(arr)
{
var k=0;
for(j=0;j<5;j++)
{
var arrlala=new Array();
for(i=0;i<arr.length;i++)
{
arrlala.push(getArrValue(arr[i],k));
}
alert(arrlala);
arrnana.push(arrlala);
k++;
}
}
function getArrValue(arr,i)
{
if(i>=arr.length)
i=i%arr.length;
return arr[i];
}测试:
var arr=[[1,2,3,7,5],[4,3,8],[6,4],[2,9,2,4]];
doArr(arr);没时间了,该回家了
还有最后一步,LZ自己写把,就是判断k的最大值
k的最大值应该是所有子数组中length最的的哪个值
比如上边的arr   k应该是5
把k变量化就可以了

解决方案 »

  1.   

    function doArr(arr)
    {
    var k=0;
    var n=getMaxArrLength(arr);     //有限运行次数
    //var n=Number.POSITIVE_INFINITY;   //无限运行次数
    alert(n);
    for(j=0;j<n;j++)
    {
    var arrlala=new Array();
    for(i=0;i<arr.length;i++)
    {
    arrlala.push(getArrValue(arr[i],k));
    }
    alert(arrlala);
    arrnana.push(arrlala);
    k++;
    }
    }
    function getArrValue(arr,i)
    {
    if(i>=arr.length)
    i=i%arr.length;
    return arr[i];
    }
    function getMaxArrLength(arr)
    {
    var max=0;
    for(i=0;i<arr.length;i++)
    {
    arr[i].length>max?max=arr[i].length:'';
    }
    return max;
    }测试:
    var arr=[[1,2,3,7,5,9,0],[4,3,8],[6,4],[2,9,2,4]];
    doArr(arr);
      

  2.   

    to: igyhi() 有心, 在下感动啊,  而且对数组的操作也实现了..  
    不过跟题目有一点不太对(可能是题目没描述清楚), 你是一次性的把这些循环全打出来了..  我需要的是一次 setInterval() 打出一个temp[] , 然后隔3秒再打出一个. 用setInterval(). to: RUN  各子数组的维数都是未知, 上面arr1[1,2,3]只是举例.
      

  3.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>arrtest.html</title>
        
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="this is my page">
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        
        <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
        
      </head>
    <script type="text/javascript">
    //数组值计算var sid=null; //线程id
    var limit=0;  //setInterval 次数限制
    var timems=100; //setInterval 周期
    var k=0;      //内部运算参数
    function pageinit()
    {
    var arr=[[1,2,3,7,5,9,0],[4,3,8],[6,4],[2,9,2,4]]; //传入数组
    Start(arr);
    }
    function Start(arr)
    {
    sid=window.setInterval(function(){doArr(arr)},timems);
    }
    function Close()
    {
    if(sid)window.clearInterval(sid);
    }
    function doArr(arr)
    {
    limit++;
    if(limit>60)Close(sid);  //到60次停止setInterval
    var temp=new Array();
    for(i=0;i<arr.length;i++)
    {
    temp.push(getArrValue(arr[i],k));
    }
    k++;
    createLi('result',temp);
    }
    function getArrValue(arr,i)
    {
    if(i>=arr.length)
    i=i%arr.length;
    return arr[i];

    //结果报表
    function createLi(strE,Txt)
    {
    var e=document.getElementById(strE);
    e=e.childNodes[0];
    var li=document.createElement('li');
    var liTxt=document.createTextNode(Txt);
    li.appendChild(liTxt);
    e.appendChild(li);
    }
    </script>
    <style type="text/css">
    #result ul{margin:0 0;color:darkred;font-size:12px;}
    #result ul li{list-style:none;}
    </style>
      <body onload="pageinit()">
      <div>[[1,2,3,7,5,9,0],[4,3,8],[6,4],[2,9,2,4]]</div>
       <div id="result">
        <ul>
        <li>数组结果</li>
        </ul>
       </div>
      </body>
    </html>
      

  4.   

    igyhi() 你太强了..  我试了行.
      

  5.   

    崇拜ing..  想拜你师 哦.