作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
var test = [
"test1",
"test2",
"test3",
"test4"
];
var text = "";
for (var i = 0; i < test.length; i++) {
if (i == test.length) {
text += test[i] + ". Fin";
} else {
text += test[i] + "<br>";
}
}
在这段代码中,我基本上尝试创建一个列表,这将导致:测试1测试2测试3测试4。鳍
一切正常,除了 .鳍。我相信这是因为我没有正确获取号码或类似的东西。
编辑:愚蠢的问题,我还是初学者时的困惑代码。 Array.join()
帮助我在一行中完成此操作,并通过在后缀中添加一个字符串来结束它。
最佳答案
这是您的问题(请参阅评论):
for (var i = 0; i < test.length; i++) { // We only execute the code when i < length
if (i == test.length) { // But here, you try to add something when it's = !
text += test[i] + ". Fin";
} else {
text += test[i] + "<br>";
}
}
如果您想让它工作并且需要使用您的for
循环,这里有两种不同的解决方案:
var test = ["test1", "test2", "test3", "test4"];
// First solution: Modify your loop
var text = "";
for (var i = 0; i <= test.length; i++) { // Modified < to <=
if (i == test.length) {
text += ". Fin"; // Removed "test[i]", because it doesn't exist when i == length
} else {
text += test[i] + "<br>";
}
}
console.log(text);
// Another shorter solution: Add ". Fin" AFTER the loop
var text = "";
for (var i = 0; i < test.length; i++){
text += test[i] + "<br>";
}
text += ". Fin";
console.log(text);
⋅⋅⋅
无论如何,如果您不需要 for
循环,
还有另一个更简单的解决方案,使用 .join()
:
var test = [
"test1",
"test2",
"test3",
"test4"
];
var text = test.join('<br>') + '<br>. Fin';
console.log(text);
希望有帮助。
关于javascript - For 循环和数组的一些数学问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50487729/
我是一名优秀的程序员,十分优秀!