对不起,这是一个愚蠢的问题,但我尝试列出从1到限制的一系列数字,并且应该用逗号分隔。我有个问题。我不知道如何停止逗号。我应该有1,2,3但我有1,2,3。你能帮助我吗?这是我的代码。
function getNumberSequence(number) {
var result = ""
if(number <= 0){
return result
}
else{
if(number == 1){
result = result + 1
} else {
for(i = 1; i <= number; i++){
result = result + ',' + i;
}
}
}
return result
}
全部谢谢
答案 0 :(得分:1)
你可以简单地添加一个标志(在例子中#34;首先是#34;)并检查这是否是你的第一次迭代 - 如果是这样,不要添加逗号但是将其设置为false ...见这里:http://jsfiddle.net/fdfxc5zq/
var first = true; //have a flag that tells you if this is your first iteration - don't add a comma the first time around
for (i = 0; i <= number; i++) {
if (first) {
first = false;
} else {
result += ", ";
}
result += i;
}
答案 1 :(得分:0)
使用您的代码,只需使用初始值1声明结果并使用i = 2启动for循环。解决了。 (如果数字为1,则返回结果)
答案 2 :(得分:0)
为您准备一个班轮:
return Object.keys(Array.apply(null,new Array(number))).map(function(n) {return +n+1;}).join(",");
基本上,创建一个长度为number
的数组,“应用”它(基本上最终给每个索引赋予undefined
个值),然后使用Object.keys
来获取数组的索引,递增所有项目,然后用逗号连接整个事物。
答案 3 :(得分:0)
两种简单的方法:
1)只需在每个数字后添加逗号并返回长度为1的子字符串即可删除最后一个逗号
if (i === 0) return ""; //to avoid substring() issues on empty strings
var result = "";
for (i = 0; i <= number; i++) {
result = i + ",";
}
return result.substr(0, result.length-1);
2)使用数组和连接
var result = [];
for (i = 0; i <= number; i++) {
result.push(i)
}
return result.join(); //default join separator is the comma
答案 4 :(得分:0)
YourCommaSeparatedString.split(',');