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 相关文章推荐
js操作table示例(个人心得)
Nov 29 Javascript
JavaScript对IE操作的经典代码(推荐)
Mar 10 Javascript
如何在node的express中使用socket.io
Dec 15 Javascript
jQuery $.each遍历对象、数组用法实例
Apr 16 Javascript
jQuery实现百度登录框的动态切换效果
Apr 21 jQuery
微信小程序实现文字跑马灯效果
May 26 Javascript
jquery+css3实现熊猫tv导航代码分享
Feb 12 jQuery
JS实现获取word文档内容并输出显示到html页面示例
Jun 23 Javascript
微信小程序实现收藏与取消收藏切换图片功能
Aug 03 Javascript
微信小程序实现获取准确的腾讯定位地址功能示例
Mar 27 Javascript
Vue清除定时器setInterval优化方案分享
Jul 21 Javascript
JavaScript ES 模块的使用
Nov 12 Javascript
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的错误信息
2006/10/09 PHP
用ODBC的分页显示
2006/10/09 PHP
PHP实用函数分享之去除多余的0
2015/02/06 PHP
PHP微信开发之微信录音临时转永久存储
2018/01/26 PHP
laravel orm 关联条件查询代码
2019/10/21 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
CL vs ForZe BO5 第三场 2.13
2021/03/10 DOTA
javascript连续赋值问题
2015/07/08 Javascript
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
2016/08/15 Javascript
JavaScript闭包_动力节点Java学院整理
2017/06/27 Javascript
Node.js使用gm拼装sprite图片
2017/07/04 Javascript
小程序云开发实战小结
2018/10/25 Javascript
JS实现电话号码的字母组合算法示例
2019/02/26 Javascript
vue h5移动端禁止缩放代码
2019/10/28 Javascript
Vue Router 实现动态路由和常见问题及解决方法
2020/03/06 Javascript
UEditor 自定义图片视频尺寸校验功能的实现代码
2020/10/20 Javascript
Python实现对PPT文件进行截图操作的方法
2015/04/28 Python
django 将model转换为字典的方法示例
2018/10/16 Python
Python3字符串encode与decode的讲解
2019/04/02 Python
django使用django-apscheduler 实现定时任务的例子
2019/07/20 Python
python2和python3应该学哪个(python3.6与python3.7的选择)
2019/10/01 Python
Python3.7安装keras和TensorFlow的教程图解
2020/06/18 Python
英国精品买手店:Browns Fashion
2016/09/29 全球购物
ECCO爱步美国官网:来自丹麦的鞋履品牌
2016/11/23 全球购物
德国在线香料制造商:Gewürzland
2020/03/10 全球购物
意大利买卖二手奢侈品网站:LAMPOO
2020/06/03 全球购物
Oracle的内存结构(Memory structures)
2015/06/10 面试题
同学会邀请书大全
2014/01/12 职场文书
酒店管理专业自荐信
2014/05/23 职场文书
医学生求职信
2014/07/01 职场文书
毕业生代领毕业材料的授权委托书
2014/09/29 职场文书
世界遗产导游词
2015/02/13 职场文书
盗窃案辩护词
2015/05/21 职场文书
高中数学教学反思范文
2016/02/18 职场文书
Python基础之操作MySQL数据库
2021/05/06 Python
MATLAB 全景图切割及盒图显示的实现步骤
2021/05/14 Python