我正在努力自己学习 javascrip+jquery,并且也在努力学习它。因此试图执行 DRY 规则。
我发现自己遇到了一个问题,我有一个数组,
var animals = [4];
一个函数,
var legs = function(amount){
this.amount = amount;
this.body = Math.floor(Math.random()*amount)+1;
}
和一个邪恶的 for 循环。我还有 5 个 div,称为 printAnimal1、printAnimal2 等等。我希望将数组中的每个值打印到其中。
for(i = 0; i < animals.length; i++){
animals[i] = new legs(6);
$(".printAnimal"+i).append("animals[i]");
}
我觉得好像我接近正确的事情,但我似乎无法弄清楚。我也尝试过这样的事情:
for(i = 0; i < animals.length; i++){
animals[i] = new legs(6);
$this = $(".printAnimal");
$(this+i).append("animals[i]");
}
但是其中一个问题似乎是“+i”,我无法从中得出正面或反面。
我也知道我可以简单地做:
$(".printAnimal1").append("animals[i]");
$(".printAnimal2").append("animals[i]");
$(".printAnimal3").append("animals[i]");
...
但这会打破 DRY 规则。尝试使用 for 循环执行此操作是否完全错误,或者可以完成吗?或者有没有更好的方法来做到这一点!谁能澄清一下?