javascript - For循环和数组的一些数学问题
问题描述
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>";
}
}
在这段代码中,我基本上尝试创建一个列表,结果是:test1 test2 test3 test4。鳍
一切正常,除了 . 鳍。我相信这是因为我没有正确获得数字或类似的东西。
编辑:愚蠢的问题,当我还是初学者时,代码混乱。这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);
⋅ ⋅ ⋅</p>
无论如何,如果您不需要for
循环,
还有另一个更简单的解决方案.join()
:
var test = [
"test1",
"test2",
"test3",
"test4"
];
var text = test.join('<br>') + '<br>. Fin';
console.log(text);
希望能帮助到你。
推荐阅读
- php - 使用我的 SQL 结果作为过滤条件的方法?
- spring-boot - 如何在 springbootapplication 中启用 Cassandra CqlSession Metrics
- c# - 正确处理 HttpWebRequest
- javascript - JavaScript Fade in on scroll 一旦淡入就不会淡出
- c++ - 尝试在派生类中使用宇宙飞船运算符
- javascript - 包含来自 npm 安装的 js 脚本
- c# - xUnit - 卡在如何从静态方法中打印出任何东西
- python - 如何检查一个元素是否存在于 Python 的列表中
- html - Carousal 横幅标题在滚动网页时重叠?
- mongodb - Mongo模板聚合java spring GroupBy