这是一个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>');
}
答案 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>');
}