字符串作在程序中是非常常见的,因为程序中绝大部分的数据都可以当作字符串来处理。在这里介绍几种翻转字符串的方法。

(1)使用字符串函数

//使用数组翻转函数
function reverseString(str){
var array = str.split(''); //转换成字符串数组
array = array.reverse();
str = array.join('');
return str;
}
//简写
function reverseString1(str){
return str.split('').reverse().join('');
} console.log(reverseString("helloworld")); //dlrowolleh
console.log(reverseString1("helloworld")); //dlrowolleh

(2)使用for循环

//使用for循环
function reverseString2(str){
var newStr = "";
for(var i=str.length-1; i>=0; i--){
newStr += str[i];
}
return newStr;
}
console.log(reverseString2("helloworld")); //dlrowolleh

(3)使用递归

//使用递归
function reverseString3(str){
if(str===""){
return "";
}else{
return reverseString3(str.substr(1)) + str.charAt(0);
}
}
console.log(reverseString3("helloworld")); //dlrowolleh //简写
function reverseString4(str) {
return (str === '') ? '' : reverseString(str.substr(1)) + str.charAt(0);
}
console.log(reverseString4("helloworld")); //dlrowolleh

js 实现字符串翻转的更多相关文章

  1. JS判断字符串长度的5个方法

    这篇文章主要介绍了JS判断字符串长度的5个方法,并且区分中文和英文,需要的朋友可以参考下 目的:计算字符串长度(英文占1个字符,中文汉字占2个字符)   方法一:    代码如下: String.pr ...

  2. 怎么用JS截取字符串中第一个和第二个字母间的部分?

    一.JS中用正则判断字符串是否有匹配正则的字符串部分,格式如下: /[a-zA-Z](.*?)[a-zA-Z]/.test('1a123d45678901a2') “.test”前面的部分是正则表达式 ...

  3. js对字符串的操作

    js对字符串的操作 concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串. indexOf() – 返回字符串中一个子串第一处出现的索引.如果没有匹配项,返回 -1 . charA ...

  4. js替换字符串的所有示例代码

    js如何替换字符串中所有. /** * 替换字符串中所有 * @param obj 原字符串 * @param str1 替换规则 * @param str2 替换成什么 * @return 替换后的 ...

  5. Js判断对象是否为空,Js判断字符串是否为空

    Js判断对象是否为空,Js判断字符串是否为空,JS检查字符串是否为空字符串 >>>>>>>>>>>>>>>&g ...

  6. js移除最后一个字符,js替换字符串的连接符号,js移除最后一个分隔符号

    js移除最后一个字符 js移除最后一个分隔符号 js替换字符串的连接符号 >>>>>>>>>>>>>>>> ...

  7. js截取字符串区分汉字字母代码

    js截取字符串并且区分汉字字母,一个汉字辨别为两个字节. function substr(str, len) { if (!str || !len) { return ''; } // 预期计数:中文 ...

  8. c语言字符串翻转系列

    2013-10-25 最近碰到一道笔试题,是关于字符串翻转的.题目是:将一段英文翻转,但保留单词拼写,如给定字符串str="I am a student",返回为"stu ...

  9. 小议 js 下字符串比较大小

    原文:小议 js 下字符串比较大小 之前群里有人问如何比较两个时间大小,他的时间格式是 2014-08-08 而不是 2014-8-8.所以我给的方法是 直接比较,如: var a = "2 ...

随机推荐

  1. c++的基本点

    C++的要点:    一个思想:抽象(和分类)的思想:    三个概念:类.对象.消息:    三个特征:封装.继承.多态:    一个观念:函数服务于数据.      程序 = 对象 + 消息   ...

  2. linux后台开发常用调试工具

    一.编译阶段         nm                 获取二进制文件包含的符号信息 strings           获取二进制文件包含的字符串常量 strip             ...

  3. 这才是图文并茂:我写了1万多字,就是为了让你了解AQS是怎么运行的

    前言 如果你想深入研究Java并发的话,那么AQS一定是绕不开的一块知识点,Java并发包很多的同步工具类底层都是基于AQS来实现的,比如我们工作中经常用的Lock工具ReentrantLock.栅栏 ...

  4. MTK官方SDK包编译openwrt

    全过程需要联网,最好有梯子,编译方式有两种 安装依赖库: apt-get install g++ apt-get install libncurses5-dev apt-get install zli ...

  5. 同步FIFO学习笔记

  6. eclipse 和 myeclipse 字符编码设置

    需要设置的几处地方为: Window->Preferences->General ->Content Type 所有 Default encoding 设置为UTF-8 Window ...

  7. Python_Tips_dump\load 和 dumps\loads 的区别与联系

    dump\load  和 dumps\loads 的区别与联系 """ Python3 JSON模块的使用 参考链接:https://docs.python.org/3/ ...

  8. 建议收藏,从零开始创建一个Activiti工作流,手把手教你完成

    环境配置 项目环境: JDK1.8 tomcat7 maven3.5 开发工具: IDEA activiti7 创建项目 目标:创建一个maven项目,集成Activiti,并自动生成25张数据库表 ...

  9. linux系统中 SElinux安全子系统

    1.SElinux 是什么? SElinux(Security-Enhanced Linux)是美国国家安全局在linux开源社区的帮助下开发的一个强制访问控制(Mandatory Access Co ...

  10. zabbix的搭建及操作(2)监控windows10及网络设备

    实验环境 配置完成的Server端 Web --详情点击 windows10 192.168.10.1 (与虚拟机同一Vmnet的IP地址)必须关闭防火墙 网络设备GNS 192.168.10.50 ...