javascript 有 2 个数组的 for 循环
javascript for loop with 2 arrays
这就是我想要完成的:
var result = document.getElementById("o_q1_op1");
document.getElementById("a1_op1").style.height = result.scrollHeight;
但我不想重写十几次,而是想使用这样结构的数组:
var que = ["o_q1_op1", "o_q1_op2", "o_q2_op3"];
var ans = ["a1_op1","a1_op2","a1_op3","a1_op4"];
这是我目前拥有的:
var que = ["o_q1_op1", "o_q1_op2", "o_q2_op3"];
var ans = ["a1_op1","a1_op2","a1_op3","a1_op4"];
var result;
var index;
var text = "";
for (index = 0; index < que.length; index++) {
text += que[index];
var result[index] = document.getElementById(text);
}
var index2;
var text2 = "";
for (index2 = 0; index2 < ans.length; index2++) {
text2 += ans[index2];
document.getElementById(text2).style.height = result[index].scrollHeight;
}
我以前从未使用过 2 个数组来完成一项任务,所以我不确定如何去做。
好吧,+=
是错误的,因为它连接了字符串
将代码更改并简化为
var que = ["o_q1_op1", "o_q1_op2", "o_q2_op3"];
var ans = ["a1_op1","a1_op2","a1_op3","a1_op4"];
var result=[];
for (var index = 0; index < que.length; index++) {
result[index] = document.getElementById(que[index]);
}
for (var index2 = 0; index2 < ans.length; index2++) {
document.getElementById(ans[index2]).style.height = result[index].scrollHeight;
}
只要两个数组有序且长度相同...
for(var i=0;i< que.length;i++){
document.getElementById(ans[i]).style.height =
document.getElementById(que[i]).scrollHeight;
}
您可能希望不使用 2 个数组,而是使用一个数组将两个属性联系在一起:
var arr = [
{ q:"o_q1_op1",a:"a1_op1"},
{ q:"o_q1_op2",a:"a1_op2"}
];
然后代码就变得简单多了,再也不用去处理2个数组变长了
for(var i=0;i<arr.length;i++){
var result = document.getElementById(arr[i].q);
document.getElementById(arr[i].a).style.height = result.scrollHeight;
}
这就是我想要完成的:
var result = document.getElementById("o_q1_op1");
document.getElementById("a1_op1").style.height = result.scrollHeight;
但我不想重写十几次,而是想使用这样结构的数组:
var que = ["o_q1_op1", "o_q1_op2", "o_q2_op3"];
var ans = ["a1_op1","a1_op2","a1_op3","a1_op4"];
这是我目前拥有的:
var que = ["o_q1_op1", "o_q1_op2", "o_q2_op3"];
var ans = ["a1_op1","a1_op2","a1_op3","a1_op4"];
var result;
var index;
var text = "";
for (index = 0; index < que.length; index++) {
text += que[index];
var result[index] = document.getElementById(text);
}
var index2;
var text2 = "";
for (index2 = 0; index2 < ans.length; index2++) {
text2 += ans[index2];
document.getElementById(text2).style.height = result[index].scrollHeight;
}
我以前从未使用过 2 个数组来完成一项任务,所以我不确定如何去做。
好吧,+=
是错误的,因为它连接了字符串
将代码更改并简化为
var que = ["o_q1_op1", "o_q1_op2", "o_q2_op3"];
var ans = ["a1_op1","a1_op2","a1_op3","a1_op4"];
var result=[];
for (var index = 0; index < que.length; index++) {
result[index] = document.getElementById(que[index]);
}
for (var index2 = 0; index2 < ans.length; index2++) {
document.getElementById(ans[index2]).style.height = result[index].scrollHeight;
}
只要两个数组有序且长度相同...
for(var i=0;i< que.length;i++){
document.getElementById(ans[i]).style.height =
document.getElementById(que[i]).scrollHeight;
}
您可能希望不使用 2 个数组,而是使用一个数组将两个属性联系在一起:
var arr = [
{ q:"o_q1_op1",a:"a1_op1"},
{ q:"o_q1_op2",a:"a1_op2"}
];
然后代码就变得简单多了,再也不用去处理2个数组变长了
for(var i=0;i<arr.length;i++){
var result = document.getElementById(arr[i].q);
document.getElementById(arr[i].a).style.height = result.scrollHeight;
}