带有 2 个数组的 javascript for 循环

标签 javascript arrays for-loop

这就是我想要实现的目标:

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 个数组来完成一项任务,所以我不知道如何去做。

最佳答案

您可能不希望使用 2 个数组,而是使用一个数组将两个属性联系在一起:

var arr = [
             { q:"o_q1_op1",a:"a1_op1"},
             { q:"o_q1_op2",a:"a1_op2"}
          ];

然后代码就变得简单多了,而且你永远不必处理两个数组变得不同的长度

for(var i=0;i<arr.length;i++){
    var result = document.getElementById(arr[i].q);
    document.getElementById(arr[i].a).style.height = result.scrollHeight;
}

关于带有 2 个数组的 javascript for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29014638/

相关文章:

PHP 仅通过电子邮件发送已填充的值

javascript - 替换类以便用 jquery 替换点击时的图像

javascript - 允许用户输入 'enter (/n)' 以及其他一些特殊字符

如果应用程序托管在 IIS 上,Javascript window.location.href 不起作用

php - javascript 和 php 中字符串与数组的处理速度,以及数组是否可以在不进行操作的情况下传递给 php?

arrays - 删除字符串列表右侧的所有内容

javascript - 无法在我的模板中获取发布对象模型

计算链表中字符串出现的次数

java - 在 Java 中操作数组。陷入困难的家庭作业

batch-file - 如何在第二部分的for循环中制作管道?