JS算法教程之字符串去重与字符串反转

 更新时间:2020年12月15日 11:41:07   作者:Memories  
这篇文章主要给大家介绍了关于JS算法教程之字符串去重与字符串反转的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、字符串去重

说起字符串去重,第一时间就会想起数组去重,所以我们可以把字符串转换为数组,然后对数组去重,去重完毕后在拼接成字符串,下面就简单罗列两种字符串去重的方法,接下来我们看代码。

第一种方法:

逻辑步骤:

1、使用split或者ES6的展开运算符...把字符串切割成数组

2、使用ES6的Set数据解构,它类似于数组,但是它成员的值都是唯一的,使用new创建

3、对去重后的数组使用join拼接

let str = '11223344aabbcc'
function strSeparate(s) {
 return [...new Set([...s])].join('');
 // or return [...new Set(s.split(''))].join('')
}
console.log(strSeparate(str))

第二种方法:

逻辑步骤:

第二种方法的逻辑步骤和第一种方法的逻辑步骤只有第2步不同,第1步和第3步都是把字符串转成数组,对数组去重,然后拼接成字符串。

function strSeparate(s) {
 // 使用展开运算符,字符串转换成数组
 s = ...str;
 let arr = [];
 for(let i = 0; i < s.length; i++) {
  if(arr.indexOf(s[i]) == -1) {
   arr.push(s[i])
  }
 }
 return arr.join('');
}

二、字符串反转

字符串反正我能想到的最简单的就是使用数组的reverse方法,所以还是需要将字符串切割成数组,然后反转数组,再拼接。

let str = 'abcdefg'
function strReverse(s) {
 return [...s].reverse().join('');
}
// or
function reverse(s) {
 return s.split('').reverse().join('');
}

至于字符串转的方法还有很多,我也再网上看了很多,目前还是觉得以上两种最为简单,大家如果有什么更好的方法,可以留言也可以私发,我们相互学习

总结

到此这篇关于JS算法教程之字符串去重与字符串反转的文章就介绍到这了,更多相关JS字符串去重与反转内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • ES6学习之变量的两种命名方法示例

    ES6学习之变量的两种命名方法示例

    最近在学习ES,所以想着将自己学习的一些经验技巧总结一下,方便学习,所以下面这篇文章主要跟大家分享介绍了关于ES6学习之变量的两种命名方法,文中通过示例代码介绍的很详细,需要的朋友们下面来一起看看吧。
    2017-07-07
  • JS 非图片动态loading效果实现代码

    JS 非图片动态loading效果实现代码

    功能说明:譬如在按某个button时,显示消息"Loading”,然后每隔一秒后后面加上".",至一定数量的"."时如:"Loading...",再重置此消息为"Loading",继续动态显示,直至按钮事件处理完成。
    2010-04-04
  • JS获取整个页面文档的实现代码

    JS获取整个页面文档的实现代码

    就是在当前页面用AJAX请求当前页面,返回的就是整个页面的HTML··既然是整个页面,所以也包括文档声明
    2011-12-12
  • Webpack ECMAScript 模块详解

    Webpack ECMAScript 模块详解

    ECMAScript 模块(ESM)是在 Web 中使用模块的规范, 所有现代浏览器均支持此功能,同时也是在 Web 中编写模块化代码的推荐方式,这篇文章主要介绍了Webpack ECMAScript 模块,需要的朋友可以参考下
    2023-12-12
  • javascript实现可改变滚动方向的无缝滚动实例

    javascript实现可改变滚动方向的无缝滚动实例

    无缝滚动在制作一些图片展示的时候还是蛮有用的,下面与大家分享下javascript实现的可改变滚动方向的无缝滚动,具体实现如下,感兴趣的朋友可以参考下哈
    2013-06-06
  • js实现倒计时器自定义时间和暂停

    js实现倒计时器自定义时间和暂停

    这篇文章主要为大家详细介绍了js实现倒计时器自定义时间和暂停,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • 解读CocosCreator源码之引擎启动与主循环

    解读CocosCreator源码之引擎启动与主循环

    这篇文章主要介绍了CocosCreator源码解读之引擎启动与主循环,对CocosCreator感兴趣的同学,可以研究参考一下
    2021-04-04
  • 浏览器JavaScript调试功能无法使用解决方案

    浏览器JavaScript调试功能无法使用解决方案

    这篇文章主要介绍了浏览器JavaScript调试功能无法使用解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • js省市联动效果完整实例代码

    js省市联动效果完整实例代码

    这篇文章主要介绍了js省市联动效果完整实例代码,涉及JavaScript数组的定义与遍历技巧,代码非常具有实用价值,需要的朋友可以参考下
    2015-12-12
  • layui 点击重置按钮, select 并没有被重置的解决方法

    layui 点击重置按钮, select 并没有被重置的解决方法

    今天小编就为大家分享一篇layui 点击重置按钮, select 并没有被重置的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09

最新评论