我正在尝试构造一个语句(因为客户端请求它)并且想要删除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;
我该怎么办?
答案 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检查变量值并且条件应该通过但在最后一个循环语句中应该失败