当前位置:首页 > JavaScript

基础js实现句子反转

2026-03-01 16:04:26JavaScript

使用 split 和 reverse 方法

将字符串按空格分割成数组,反转数组后再合并成字符串。这种方法适合简单句子反转。

function reverseSentence(sentence) {
  return sentence.split(' ').reverse().join(' ');
}

处理标点符号

如果需要保留标点符号在单词末尾,可以使用正则表达式分割。

function reverseSentenceWithPunctuation(sentence) {
  return sentence.split(/(\s+)/).reverse().join('');
}

手动实现反转

不使用内置方法,通过循环手动实现反转。

function manualReverse(sentence) {
  let words = [];
  let currentWord = '';

  for (let char of sentence) {
    if (char === ' ') {
      words.push(currentWord);
      currentWord = '';
    } else {
      currentWord += char;
    }
  }
  words.push(currentWord);

  let reversed = '';
  for (let i = words.length - 1; i >= 0; i--) {
    reversed += words[i] + (i > 0 ? ' ' : '');
  }

  return reversed;
}

考虑 Unicode 字符

处理包含表情符号等复杂 Unicode 字符的句子。

function unicodeReverse(sentence) {
  const segments = [...new Intl.Segmenter().segment(sentence)].map(x => x.segment);
  return segments.reverse().join('');
}

性能优化版本

对于超长字符串,使用数组操作可能更高效。

基础js实现句子反转

function optimizedReverse(sentence) {
  const words = [];
  let start = 0;

  for (let i = 0; i <= sentence.length; i++) {
    if (sentence[i] === ' ' || i === sentence.length) {
      words.push(sentence.slice(start, i));
      start = i + 1;
    }
  }

  let result = '';
  for (let j = words.length - 1; j >= 0; j--) {
    result += words[j] + (j > 0 ? ' ' : '');
  }

  return result;
}

标签: 句子基础
分享给朋友:

相关文章

如何学java基础

如何学java基础

选择合适的入门教材 《Head First Java》和《Java核心技术卷I》是经典的入门书籍,前者以趣味性讲解基础概念,后者系统性强,适合零基础或有一定编程经验的读者。 搭建开发环境 安装J…

零基础如何自学java编程

零基础如何自学java编程

选择合适的入门教材 零基础学习Java建议从系统性教材入手,推荐《Head First Java》或《Java核心技术卷1》。这类书籍以图文结合的方式讲解基础概念,适合初学者理解编程逻辑和语法规则。电…

java如何打好基础

java如何打好基础

理解核心概念 Java基础的核心包括数据类型、变量、运算符、控制流程(条件语句、循环)、面向对象编程(类、对象、继承、多态)、异常处理、集合框架等。掌握这些概念是后续学习框架和高级特性的前提。…

如何学好java基础

如何学好java基础

理解核心概念 Java基础学习的核心在于掌握面向对象编程(OOP)概念,包括类、对象、继承、封装和多态。理解这些概念后,能够更高效地编写模块化和可复用的代码。 实践编程练习 通过实际编写代码巩固…

vue基础组件实现

vue基础组件实现

Vue 基础组件实现 组件定义 在 Vue 中,组件是可复用的 Vue 实例,通常以 .vue 文件形式组织,包含模板、脚本和样式三部分。一个基础组件的结构如下: <template>…

如何学java基础

如何学java基础

学习Java基础的方法 理解Java基础概念 Java是一种面向对象的编程语言,学习时需要掌握基本概念如类、对象、继承、多态、封装和抽象。了解数据类型、变量、运算符、控制结构(if-else、循环)以…