js中两个for循环怎么传值?

baidu_27434251 2015-09-16 04:19:26
var data;
var data1;
for(var k=0;k<jsons.length;k++){//获取所有返回数据
for(var l=0;l<jsons[k].projects.length;l++){//获取项目
for(var m=0;m<jsons[k].projects[l].propertys.length;m++){//获取项目对应的类型
str.push("<tr>");
str.push("<td rowspan='2' align='center'>"+jsons[k].projects[l].projectName+"</td>");
str.push("<td rowspan='2' align='center'>"+jsons[k].projects[l].propertys[m].propertyName+"</td>");
str.push("<td align='center'>计划</td>");
data = 0;
for(var n=0,len=jsons[k].projects[l].propertys[m].contents.length;n<len;n++){//获取类型对应的值
if(jsons[k].projects[l].propertys[m].contents[n].year==years[j]
&& jsons[k].projects[l].propertys[m].contents[n].parentArea==areas[i].areaId){
data += parseFloat(jsons[k].projects[l].propertys[m].contents[n].content);
}
}
str.push("<td rowspan='2' align='center'>"+data.toFixed(2)+"</td>");//将被选中的地区总值插入

for(var e=0;e<jsons[0].areaNames.length;e++){
if(areas[i].areaId == jsons[0].areaNames[e].parentArea){
str.push("<td align='center'>");
str.push("<table>");
data1 =0;
for(var n=0;n<jsons[0].areaChildDetail.length;n++){
if(jsons[0].areaChildDetail[n].planYear == years[j] && jsons[0].areaNames[e].areaId == jsons[0].areaChildDetail[n].areaId && jsons[k].projects[l].projectName == jsons[0].areaChildDetail[n].projectName && jsons[k].projects[l].propertys[m].propertyName == jsons[0].areaChildDetail[n].propertyName && jsons[0].areaChildDetail[n].pArea==areas[i].areaId){
data1 += parseFloat(jsons[0].areaChildDetail[n].valueContent);
}
}
str.push("<tr>");
str.push("<td align='center'>"+data1.toFixed(2)+"</td>");
str.push("</tr>");
str.push("</table>");
str.push("</td>");
}
}
str.push("</tr>");

str.push("<tr>");
str.push("<td align='center'>占比</td>");
for(var e=0;e<jsons[0].areaNames.length;e++){
if(areas[i].areaId == jsons[0].areaNames[e].parentArea){
str.push("<td align='center'>");
str.push("<table>");
str.push("<tr>");
if(GetPercent(data1,data) >= 80){
str.push("<td style='color:green' align='center'>"+GetPercent(data1,data)+"%</td>");
}else if(GetPercent(data1,data) >= 60 && GetPercent(data1,data) < 80){
str.push("<td style='color:orange' align='center'>"+GetPercent(data1,data)+"%</td>");
}else{
str.push("<td style='color:red' align='center'>"+GetPercent(data1,data)+"%</td>");
}

str.push("</tr>");
str.push("</table>");
str.push("</td>");
}
}
str.push("</tr>");
}
}
}


在这个for循环中
for(var e=0;e<jsons[0].areaNames.length;e++){
if(areas[i].areaId == jsons[0].areaNames[e].parentArea){
str.push("<td align='center'>");
str.push("<table>");
data1 =0;
for(var n=0;n<jsons[0].areaChildDetail.length;n++){
if(jsons[0].areaChildDetail[n].planYear == years[j] && jsons[0].areaNames[e].areaId == jsons[0].areaChildDetail[n].areaId && jsons[k].projects[l].projectName == jsons[0].areaChildDetail[n].projectName && jsons[k].projects[l].propertys[m].propertyName == jsons[0].areaChildDetail[n].propertyName && jsons[0].areaChildDetail[n].pArea==areas[i].areaId){
data1 += parseFloat(jsons[0].areaChildDetail[n].valueContent);
}
}
str.push("<tr>");
str.push("<td align='center'>"+data1.toFixed(2)+"</td>");
str.push("</tr>");
str.push("</table>");
str.push("</td>");
}
}
我能得到data1的值,那我怎么在下面的一个for循环中获取到data1的值
for(var e=0;e<jsons[0].areaNames.length;e++){
if(areas[i].areaId == jsons[0].areaNames[e].parentArea){
str.push("<td align='center'>");
str.push("<table>");
str.push("<tr>");
if(GetPercent(data1,data) >= 80){
str.push("<td style='color:green' align='center'>"+GetPercent(data1,data)+"%</td>");
}else if(GetPercent(data1,data) >= 60 && GetPercent(data1,data) < 80){
str.push("<td style='color:orange' align='center'>"+GetPercent(data1,data)+"%</td>");
}else{
str.push("<td style='color:red' align='center'>"+GetPercent(data1,data)+"%</td>");
}

str.push("</tr>");
str.push("</table>");
str.push("</td>");
}
}
...全文
475 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
DaveLeeCN 2015-09-16
  • 打赏
  • 举报
回复
楼上+1,外循环之外定义一个全局变量[],外循环最后一个push,外循环内循环之间定义一个变量[],内循环最后一个push,最后输出类似[[1,2,3],[1,2,3],[1,2,3]]
街头小贩 2015-09-16
  • 打赏
  • 举报
回复
都放到str中干么?可以把放到两个数组中,最后再组合,再遍历大数组

87,886

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧