我正在尝试使用 For 循环反向打印字符串“hello”,结果应该是“olleh”。但是,在将字符串推送到数组后,我无法删除字符串中的最后一个字符。结果,它只打印字符串的最后一个字母。
如何更新此代码,以便循环在将字符串推送到数组后删除字符串中的最后一个字符?
function reverseString(str) {
let holder = [];
for (let i = str.length; i > 0; i--) {
holder.push(str.charAt(str.length - 1));
str.slice(0, -1);
}
return holder;
}
console.log(reverseString("hello"));
最佳答案
The
slice()
method extracts a section of a string and returns it as a new string, without modifying the original string.
您必须将返回的字符串存储回变量:
function reverseString(str) {
let holder = [];
for (let i = str.length; i > 0; i--){
holder.push(str.charAt(str.length -1));
str = str.slice(0, -1); // update the variable
}
return holder.join(''); // join them to return the string
}
console.log(reverseString("hello"));
虽然你可以像下面这样简单地拆分和反转:
function reverseString(str) {
return str.split('').reverse().join('');
}
console.log(reverseString("hello"));
关于javascript - 如何使用 For 循环反向打印字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60088992/