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


Posted in Javascript onDecember 15, 2020

一、字符串去重

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

第一种方法:

逻辑步骤:

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字符串去重与反转内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
javascript实现存储hmtl字符串示例
Apr 25 Javascript
使用AngularJS实现表单向导的方法
Jun 19 Javascript
bootstrap datetimepicker2.3.11时间插件使用
Nov 19 Javascript
webstorm中vue语法的支持详解
May 09 Javascript
vue-cli项目无法用本机IP访问的解决方法
Sep 20 Javascript
Vue.js实现的购物车功能详解
Jan 27 Javascript
解决layui数据表格table的横向滚动条显示问题
Sep 04 Javascript
layui复选框限制选择个数的方法
Sep 18 Javascript
浅析webpack-bundle-analyzer在vue-cli3中的使用
Oct 23 Javascript
Angular 多模块项目构建过程
Feb 13 Javascript
vue中实现回车键登录功能
Feb 19 Javascript
vue 动态添加的路由页面刷新时失效的原因及解决方案
Feb 26 Vue.js
JavaScript基于SVG的图片切换效果实例代码
Dec 15 #Javascript
Vue解决移动端弹窗滚动穿透问题
Dec 15 #Vue.js
8个非常实用的Vue自定义指令
Dec 15 #Vue.js
JavaScript中Object、map、weakmap的区别分析
Dec 15 #Javascript
JavaScript中遍历的十种方法总结
Dec 15 #Javascript
token 机制和实现方式
Dec 15 #Javascript
vue从后台渲染文章列表以及根据id跳转文章详情详解
Dec 14 #Vue.js
You might like
PHP 一个页面执行时间类代码
2010/03/05 PHP
PHP全概率运算函数(优化版) Webgame开发必备
2011/07/04 PHP
php删除数组元素示例分享
2014/02/17 PHP
php递归删除目录下的文件但保留的实例分享
2014/05/10 PHP
100行PHP代码实现socks5代理服务器
2016/04/28 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
Laravel项目中timeAgo字段语言转换的改善方法示例
2019/09/16 PHP
PHP实现统计代码行数小工具
2019/09/19 PHP
关于IE7 IE8弹出窗口顶上
2008/12/22 Javascript
js 与或运算符 || &amp;&amp; 妙用
2009/12/09 Javascript
原生js实现半透明遮罩层效果具体代码
2013/06/06 Javascript
详解Javascript动态操作CSS
2014/12/08 Javascript
JavaScript制作windows经典扫雷小游戏
2015/03/31 Javascript
JS实现的自定义显示加载等待图片插件(loading.gif)
2016/06/17 Javascript
原生JS实现左右箭头选择日期实例代码
2017/03/14 Javascript
浅谈ES6 模板字符串的具体使用方法
2017/11/07 Javascript
JS Object.preventExtensions(),Object.seal()与Object.freeze()用法实例分析
2018/08/25 Javascript
详解vue-cli+element-ui树形表格(多级表格折腾小计)
2019/04/17 Javascript
jQuery实现高级检索功能
2019/05/28 jQuery
python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
2013/12/06 Python
使用 Python 获取 Linux 系统信息的代码
2014/07/13 Python
python爬取w3shcool的JQuery课程并且保存到本地
2017/04/06 Python
python3.4实现邮件发送功能
2018/05/28 Python
python配置文件写入过程详解
2019/10/19 Python
python中使用asyncio实现异步IO实例分析
2021/02/26 Python
数以千计的折扣工业产品:ESE Direct
2018/05/20 全球购物
新郎父亲婚宴答谢词
2014/01/11 职场文书
教师求职自荐信
2014/03/09 职场文书
省级优秀毕业生主要事迹
2014/05/29 职场文书
公司大门门卫岗位职责
2014/06/11 职场文书
商业企业管理专业求职信
2014/07/10 职场文书
夫妻分居协议书范本(有子女版)
2014/11/01 职场文书
毕业论文指导教师评语
2014/12/30 职场文书
NodeJs内存占用过高的排查实战记录
2021/05/10 NodeJs
vue如何使用模拟的json数据查看效果
2022/03/31 Vue.js
解决 redis 无法远程连接
2022/05/15 Redis