javascript - For 循环没有循环正确的次数

标签 javascript

我正在尝试反向打印“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/

相关文章:

javascript - setInterval 回调中 undefined variable

javascript - JavaScript 字符串中的脚本标记

javascript - JQuery的mouseout函数超时问题

javascript - 当其他文本框被填充时填充文本框

javascript - 使用Javascript D3库,如何替换矩形选择中的数据?

javascript - jQuery触发文件输入

javascript - setInterval() 在 Firefox 上不起作用

c# - Asp.net 下拉列表值在 jquery 对话框中不会更改

javascript - 如何在Python中获取JavaScript内容

javascript - Highcharts Columnrange数据标签高低不同颜色