js 字符串反转(倒序)的几种方式总结

 更新时间:2022年10月13日 12:33:55   作者:脑子不太灵光的程序员  
这篇文章主要介绍了js 字符串反转(倒序)的几种方式总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

js 字符串反转(倒序)方式

第一种

let str = "i am good man";
let newStr = str.split('').reverse().join("");
console.log(newStr)

首先将字符串转为数组,再反转数组,最后将数组转为字符串

  • split("") ------根据字符串拆分数组
  • reverse()------数组反转元素位置
  • join("")-------数组转回字符串,不带分隔符

第二种

let str = "i am good man ";
let newStr = "";
for(let i = 0;i<str.length;i++){
    let s = str.charAt(str.length-i-1)
    newStr += s;
}
console.log(newStr)//nam doog ma i
//从尾部开始遍历字符串,然后逐个拼接字符,得到最终的结果。

定义新的空字符串,遍历str,charAt() 是提取字符串的一个字符,先去最后一个字符,再取第二个,依次取,将取到的结果都放到新的字符前面,以此来实现倒序

第三种

let str ="i am good man";
let newStr = Array.prototype.slice.call(str);
console.log(newStr.reverse().join(""))//nam doog ma i

通过call方法来改变slice方法的执行主体。将数组的slice方法调用call方法后,可以让字符串具有数组的特性,从而可以直接调用reverse方法,最后再通过调用join方法,得到逆序字符串。

js 算法笔记——反转字符串

反转字符串

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。

示例 1:

  • 输入:[“h”,“e”,“l”,“l”,“o”]
  • 输出:[“o”,“l”,“l”,“e”,“h”]

思路

  • 数组reverse方法

最简单,最直接的解法,既然是数组形式输出,直接数组reverse方法倒置数组即可,既然是算法题,肯定是不希望用数组reverse方法来解决。

  • 双指针方法

对于字符串,我们定义两个指针(也可以说是索引下表),一个从字符串前面,一个从字符串后面,两个指针同时向中间移动,并交换元素。

  • 代码实现
/**
 * @param {character[]} s
 * @return {void} Do not return anything, modify s in-place instead.
 */
 //数组方法实现
var reverseString = function(s) {
    return s.reverse();
};

//双指针方法实现
var reverseString = function(s) {
    let l = -1 
    let r = s.length
	while(++l < --r) [s[l], s[r]] = [s[r], s[l]];
    return s;
};

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • TypeScript Type Innference(类型判断)

    TypeScript Type Innference(类型判断)

    TypeScript 是微软开发的 JavaScript 的超集,TypeScript兼容JavaScript,可以载入JavaScript代码然后运行。接下来通过本文给大家介绍TypeScript Type Innference(类型判断)的相关知识,需要的朋友参考下
    2016-03-03
  • 深入探讨TypeScript中类与接口的使用

    深入探讨TypeScript中类与接口的使用

    TypeScript是一种强大的编程语言,它在JavaScript的基础上添加了静态类型检查,使得代码更加可维护和类型安全,在TypeScript中,类和接口是构建复杂应用程序的关键组成部分,本文将深入探讨TypeScript中类与接口的使用,需要的朋友可以参考下
    2023-09-09
  • js+vml创建3D页面效果代码

    js+vml创建3D页面效果代码

    js vml制作的3D效果
    2008-02-02
  • JavaScript 反射和属性赋值实例解析

    JavaScript 反射和属性赋值实例解析

    这篇文章主要介绍了JavaScript 反射和属性赋值实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • js判断手机号是否正确并返回的实现代码

    js判断手机号是否正确并返回的实现代码

    这篇文章主要介绍了js判断手机号是否正确并返回的实现代码,以及使用正则表达式判断手机号是否正确,需要的的朋友参考下
    2017-01-01
  • 实例学习JavaScript读取和写入cookie

    实例学习JavaScript读取和写入cookie

    本篇内容主要给大家通过实例讲述了JavaScript读取和写入cookie的相关知识点,有这方面需要的朋友参考下吧。
    2018-01-01
  • 两种JavaScript的AES加密方式(可与Java相互加解密)

    两种JavaScript的AES加密方式(可与Java相互加解密)

    这篇文章主要介绍了两种JavaScript的AES加密方式(可与Java相互加解密) 的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-08-08
  • Javascript中判断对象是否为空

    Javascript中判断对象是否为空

    这篇文章主要介绍了Javascript中判断对象是否为空,本文利用Javascript 中的对象就是一个字典的特性,检查对象中有没有键值对实现判断对象是否为空,需要的朋友可以参考下
    2015-06-06
  • Javascript高级技巧分享

    Javascript高级技巧分享

    这篇文章主要介绍了Javascript高级技巧,需要的朋友可以参考下
    2014-02-02
  • webpack实现一个行内样式px转vw的loader示例

    webpack实现一个行内样式px转vw的loader示例

    这篇文章主要介绍了webpack实现一个行内样式px转vw的loader示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09

最新评论