- 我想遍历一个数组。
- 我想缩写任何长度大于 3 的索引。
- 我想将新的缩写月份放入一个新数组中。
- 我想通过将结果写入控制台来测试它是否有效。
我可以让代码运行,但结果并不像我希望的那样。根据我的理解,循环运行为真,运行 if 语句,它运行为真,运行代码块。之后,只要 i < months.length,循环就应该迭代并继续,但它没有。
var months = ["January", "Febuary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var monthsAbbrev = [];
for (var i = 0; i < months.length; i++) {
if (months[i].length > 3) {
monthsAbbrev = months[i].slice(0, 3);
}
}
console.log(monthsAbbrev);
最佳答案
您可以简单地使用 Array.prototype.map()
来完成
var months = ["January", "Febuary"]; //sample data for better understanding
var monthsAbbrev = months.map(v => v.substr(0,3));
console.log(monthsAbbrev); //["Jan", "Feb"]
顺便说一下你不是pushing在代码中将任何内容放入目标数组,这就是问题所在。
关于javascript - 循环的结果不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38413690/