我正在尝试反向打印“w3resource”。为什么循环在 5 次后结束?如果我改变 i < stringBecomesArray.length
它会起作用至 i < 10
.
var string = "w3resource";
var stringBecomesArray = string.split("");
for (var i = 0; i < stringBecomesArray.length; i++){
var newString = [];
newString[i] = stringBecomesArray.pop();
console.log(newString);
}
最佳答案
正如有人在评论中提到的那样,调用 .pop
会删除字符串末尾的最后一个元素,使其更短。
您可能想使用 while 循环,如下所示:
var str = 'w3resource';
var strArr = str.split('');
var newStr = '';
while (strArr.length > 0){
newStr += strArr.pop();
}
console.log(newStr);
此外,您不需要使用.split
,您可以像访问数组一样访问字符串。使用 for 循环和反向迭代,您可以这样做:
var str = 'w3resource';
var newStr = '';
var i;
for (i = str.length - 1; i >= 0; i--){
newStr += str[i]
}
console.log(newStr);
关于javascript - For 循环没有循环正确的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34402658/