JavaScript基础 - 字符串倒序输出

方案一:字符串转数组,反转数组,数组转字符串。

split(str): 拆分数组

reverse() : 数组元素位置反转 (改变原数组)

join(''): 数组转字符串,去掉分隔符’ , ’ 分隔符

function reverse(str) {
  return str.split('').reverse().join('');
}
reverse('JavaScript字符串倒叙输出')// "出输叙倒串符字tpircSavaJ"
方案二:循环遍历字符串
function reverse(str) {
  let res = '';
  for (let i = str.length - 1; i >= 0; i--) {
    res += str[i];
    // or res += str.charAt(2);
  }
  return res;
}
reverse('JavaScript字符串倒叙输出')// "出输叙倒串符字tpircSavaJ"
方案三:使用到模拟栈的数组pop/push方法

arr.pop() : 取出数组最后一个元素,并在原数组删除该元素 (改变原数组)

arr.push(item) : 数组中加入新元素**(改变原数组)**

function reverse(str) {
  const strArr = str.split('');
  let newStrArr = []
  //while(strArr.length>0){
  //      newStrArr.push(strArr.pop())
  //}
  for(let i = str.length - 1; i >= 0; i--){
    newStrArr.push(strArr.pop())
  }
  return newStrArr.join('')
}
reverse('JavaScript字符串倒叙输出')// "出输叙倒串符字tpircSavaJ"

扩展 :
1. JavaScript模拟栈操作
function mockStack(){
    var arr=[]
    for(var i=1;i<5;i++){
        arr.push(i)
        console.log(`进栈 - ${i}  , 当前数组 > ${JSON.stringify(arr)}`)
    };
    
    for(var k=0,len=arr.length;k<len;k++){       
        console.log(`出栈 - ${arr.pop()} , 当前数组 > ${JSON.stringify(arr)}`)     
    }
}
mockStack()
2. 数组reverse()会改变原数组
 let  arr = [1,2,3];
 let newArr = arr.reverse();
 console.log(`倒置操作后的原数组:${arr} , 倒置的新数组 ${newArr}`)  // 倒置操作后的原数组:3,2,1 , 倒置的新数组 3,2,1

注意:在操作数组的时候我们需要注意哪些操作会改变原数组!!!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值