如何删除for循环中的最后一个语句

时间:2015-04-20 09:00:45

标签: javascript loops

我正在尝试构造一个语句(因为客户端请求它)并且想要删除for循环中的最后一个语句但仍然包含在循环之间。

这就是我想要实现的目标(尽可能广泛的例子): 我选择:2年,2年,1年,1年。

我设法实现了这一点,但最后,它并没有以句号结束,而是以逗号结束。

用户选择了年数,因此我声明了一个变量。

这是我在Javascript中的代码:

    var out_content = document.getElementById("content");
    var in_year = 2;
    var in_period = ["years","yrs"];
    var sText = "I selected: ";
    for (var i=0;i<in_year; in_year--)
    {
        for (var p=0;p<in_period.length;p++)
        {
            sText += in_year + in_period[p];
            sText += ",";
        }
    }

out_content.innerHTML = sText;

我该怎么办?

4 个答案:

答案 0 :(得分:0)

在可预测的情况下,从字符串中删除最后一个字符可以很容易地实现:

sText = sText.substring(0, sText.length-2);

Substring有两个参数,start(0)和end(你想要length minus 1),但是因为它被视为一个数组,你可能需要length - 2)。更多信息:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/substring

答案 1 :(得分:0)

解决问题的最简单方法是删除最后一个字符(不需要的逗号)并在其中添加句点。

sText.slice(0,-1)+'.'

从0切换到-1意味着从开头到最后一个之前的字符。

答案 2 :(得分:0)

处理此类问题的更好方法是使用数组,然后连接数组元素:

var sText = "I selected: ";
var aText = [];
for (var i=0;i<in_year; in_year--)
{
    for (var p=0;p<in_period.length;p++)
    {
        aText.push(in_year + in_period[p]);
    }
}

sText += aText.join() + '.';

答案 3 :(得分:0)

在逗号之前添加if语句并使用p检查变量值并且条件应该通过但在最后一个循环语句中应该失败