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变量化就可以了
{
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变量化就可以了
{
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);
不过跟题目有一点不太对(可能是题目没描述清楚), 你是一次性的把这些循环全打出来了.. 我需要的是一次 setInterval() 打出一个temp[] , 然后隔3秒再打出一个. 用setInterval(). to: RUN 各子数组的维数都是未知, 上面arr1[1,2,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>