javascript - 如何使用 For 循环反向打印字符串?

标签 javascript arrays loops slice

我正在尝试使用 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"));

最佳答案

String.prototype.slice()

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/

相关文章:

php - 了解: From PHP Array to Python?

php - 在 foreach 循环外返回存储在 var 中的所有值

java - 如何自动化循环函数工作 (x) 次/使其递归工作

javascript - 无法使用 JavaScript 控制与另一个元素共享一个 css 类的 css 元素

javascript - jQuery select2 在选择时显示 optgroup 标签

javascript - 如何使用 AngularJS 禁用单击按钮并将该按钮替换为具有不同功能的另一个按钮?

javascript - 如何使用 JavaScript 在循环内将数组中的所有项目相乘

javascript regex - 查找由定界符括起来的子字符串

javascript - findIndex() 返回 -1 而不是正确的索引号

postgresql - 循环遍历 RECORD 的列