循环遍历Javascript中的代码块

时间:2015-09-02 10:23:30

标签: javascript for-loop

我试图循环遍历一个代码块,将四个不同的元素分配给不同的Id,我想使用if / else语句的for循环,但是这种方式或其他方式似乎不能让我的条件正确。关于如何编写if / else语句的任何建议?谢谢......以下是我执行完美的代码..

   player = temp[index];
   document.getElementById("forward-one").appendChild(player);
   temp.splice(index, 1);
   //console.log(temp);

   index = Math.floor(Math.random()*temp.length);
   player = temp[index];
   document.getElementById("defender-one").appendChild(player);
   temp.splice(index, 1);
   //console.log(temp);

   index = Math.floor(Math.random()*temp.length);
   player = temp[index];
   document.getElementById("forward-two").appendChild(player);
   temp.splice(index, 1);
   //console.log(temp);

   index = Math.floor(Math.random()*temp.length);
   player = temp[index];
   document.getElementById("defender-two").appendChild(player);
   temp.splice(index, 1);
   //console.log(temp); 

1 个答案:

答案 0 :(得分:1)

首先将您的代码放入一个函数中,这样您就不会一直重复自己。

function doStuff(elementId, index) {
    index = Math.floor(Math.random()*temp.length);
    player = temp[index];
    document.getElementById(elementId).appendChild(player);
    temp.splice(index, 1);
}

然后检查您的条件并使用根据条件使用的元素id调用您的函数。

for (var i = 0; i < whatever.length; i++) {
    if(someCondition) {
        doSomething("forward-one", whatever[i]);
    } else if (someotherCondition) {
        doSomthing("defender-one", whatever[i]);
    } else {
        doSomething("defender-two", whatever[i]);
    }
};