gpt4 book ai didi

javascript - pop() 方法 javascript 未给出完整输出

转载 作者:行者123 更新时间:2023-12-02 15:11:15 25 4
gpt4 key购买 nike

我有点像白痴问这个问题,但正在学习 javascript,并且正在 coderbyte 上做简单的挑战,并且想要反转字符串,所以写这个

var randomString = "THIS IS THE STRING I AM TRYING TO REVERSE";    

var newFunc = function() {
var randomArray = randomString.split(" ");
var newArray = [];

for (var i = 0; i <= randomArray.length; i++) {

newArray[i] = randomArray.pop();
var diffString = newArray.join(" ");
}
console.log(diffString);
};

newFunc();`

但是我得到的输出只是

“我正在尝试”。

为什么不打印字符串的其余部分?我现在正在努力用不同的方法来扭转它,但这是最直接的方法,只是令人困惑为什么它不起作用。提前致谢。

最佳答案

当您从randomArray中弹出值时,它会改变数组的长度。由于 for 循环在每次迭代时都会检查它,因此它会因为长度变短而过早地跳出循环。

解决方法是在开始弹出之前保存长度,并在 for 循环中使用它。

(这假设您正在尝试颠倒字符串中单词的顺序。)

var randomString = "THIS IS THE STRING I AM TRYING TO REVERSE";    

var newFunc = function() {
var randomArray = randomString.split(" ");
var newArray = [];
var length = randomArray.length;
for (var i = 0; i <= length; i++) {
newArray[i] = randomArray.pop();
}
var diffString = newArray.join(" ");
console.log(diffString);
};

newFunc();

关于javascript - pop() 方法 javascript 未给出完整输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34780145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com