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系列(12) 变量对象(Variable Object)
Jan 16 Javascript
浅谈javascript中的作用域
Apr 07 Javascript
有关jquery与DOM节点操作方法和属性记录
Apr 15 Javascript
js阻止浏览器默认行为触发的通用方法(推荐)
May 15 Javascript
js 自带的 map() 方法全面了解
Aug 16 Javascript
JS中append字符串包含onclick无效传递参数失败的解决方案
Dec 26 Javascript
详解JS去重及字符串奇数位小写转大写
Dec 29 Javascript
ES6学习教程之对象字面量详解
Oct 09 Javascript
vue项目环境变量配置的实现方法
Oct 12 Javascript
js简单遍历获取对象中的属性值的方法示例
Jun 19 Javascript
使用 Angular RouteReuseStrategy 缓存(路由)组件的实例代码
Nov 01 Javascript
JavaScript对象原型链原理解析
Jan 22 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
漫荒推荐:画风超赞的国风漫画推荐 超长假期不无聊
2020/03/08 国漫
详细介绍PHP应用提速面面观
2006/10/09 PHP
php5.2时间相差8小时
2007/01/15 PHP
PHP获取文件行数的方法
2015/06/10 PHP
Java中final关键字详解
2015/08/10 PHP
thinkphp3.x自定义Action、Model及View的简单实现方法
2016/05/19 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
2016/06/29 PHP
laravel5.4生成验证码的实例讲解
2017/08/05 PHP
PHP中isset、empty的用法与区别示例详解
2020/11/05 PHP
javascript学习笔记(十八) 获得页面中的元素代码
2012/06/20 Javascript
js自定义事件及事件交互原理概述(一)
2013/02/01 Javascript
JavaScript打印iframe内容示例代码
2013/08/20 Javascript
基于jquery实现可定制的web在线富文本编辑器附源码下载
2015/11/17 Javascript
基于jQuery.validate及Bootstrap的tooltip开发气泡样式的表单校验组件思路详解
2016/07/18 Javascript
移动端效果之Swiper详解
2017/10/09 Javascript
JavaScript交换两个变量方法实例
2019/11/25 Javascript
python获取标准北京时间的方法
2015/03/24 Python
Python每天必学之bytes字节
2016/01/28 Python
python数据抓取分析的示例代码(python + mongodb)
2017/12/25 Python
pycharm 实现显示project 选项卡的方法
2019/01/17 Python
Pandas把dataframe或series转换成list的方法
2020/06/14 Python
使用django自带的user做外键的方法
2020/11/30 Python
印度最好的在线药品订购网站:PharmEasy
2018/11/30 全球购物
美国领先的家庭健康检测试剂盒提供商:LetsGetChecked
2019/03/18 全球购物
幼儿园秋游感想
2014/03/12 职场文书
《水上飞机》教学反思
2014/04/10 职场文书
预备党员转正考核材料
2014/06/03 职场文书
小学生关于梦想的演讲稿
2014/08/22 职场文书
上课玩手机的检讨书
2014/10/01 职场文书
师德师风自查总结
2014/10/14 职场文书
员工辞职信怎么写
2015/02/27 职场文书
人生遥控器观后感
2015/06/11 职场文书
暂住证明怎么写
2015/06/19 职场文书
Mysql实现简易版搜索引擎的示例代码
2021/08/30 MySQL
Nginx配置https的实现
2021/11/27 Servers
Go归并排序算法的实现方法
2022/04/06 Golang