开发者社区> 问答> 正文

反转数组

要求

input: I am a student
output: student a am I
输入是数组 输出也是数组
不允许用 split splice reverse

展开
收起
kun坤 2019-11-28 15:00:43 407 0
1 条回答
写回答
取消 提交回答
  • 解法一

    function reverseArry(arry) {
      const str = arry.join(" ");
      const result = [];
      let word = "";
      for (let i = 0, len = str.length; i < len; i++) {
        if (str[i] != " ") {
          word += str[i];
        } else {
          result.unshift(word);
          word = "";
        }
      }
    
      result.unshift(word);
      return result;
    }
    
    console.log(reverseArry(["I", "am", "a", "student"]));
    // ["student", "a", "am", "I"]
    

    解法二

    function reverseArry(arry) {
      const result = [];
      const distance = arry.length - 1;
      for (let i = distance; i >= 0; i--) {
        result[distance - i] = arry[i];
      }
    
      return result;
    }
    
    
    2019-11-28 15:01:20
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载