我怎样才能简化循环

时间:2016-08-18 14:59:12

标签: jquery loops

这是一个for循环。我正在尝试简化它(如降级并取出循环以便于使用)。 不确定如何 - 有人能解释一下吗?

if (myBox.length >= i) {
    var smile = '';
    for (var x = 0; x < myBox[i].myRating; x++) {
        smile = smile + '<span>☺</span>';
    }
    $('#table').append('<tr><td>' + myBox[i].Title + smile + '</td><tr>');
}

2 个答案:

答案 0 :(得分:0)

如果你想降级,你需要从最大值开始并运行循环到&#39; 0&#39;。如果你写的正确,我认为代码将是这样的

if (myBox.length >= i) {
var smile = '';
for (var x = myBox[i].myRating; x > 0; x--){
  smile = smile + '<span>☺</span>';
}

这是降级的另一个样本

for(var x=5; x>0; x--){
  console.log(x + ',');  //it'll print 5,4,3,2,1, in your console log
  //if you want to print 0 also, just use "x>=0" in the for loop
}
  

请发布完整代码

答案 1 :(得分:0)

我不认为你可以完全避免循环,但你可以创建一个为你重复字符串的实用函数,并调用它。

function repeatStr(str, num)
{
    var returnStr = '';
    for(var i = 0; i < num; i++)
    {
      returnStr += str;
    }

    return returnStr;
}

然后在你的代码中:

if (myBox.length >= i) {
    $('#table').append('<tr><td>' + myBox[i].Title + repeatStr('<span>☺</span>', myBox[i].myRating) + '</td></tr>');
}