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的时候写的学习笔记
Dec 30 Javascript
JQuery UI的拖拽功能实现方法小结
Mar 14 Javascript
Javascript图像处理—平滑处理实现原理
Dec 28 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
Jun 07 Javascript
关于编写性能高效的javascript事件的技术
Nov 28 Javascript
Node.js实用代码段之获取Buffer对象字节长度
Mar 17 Javascript
node.js中grunt和gulp的区别详解
Jul 17 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
Mar 07 Javascript
JS中比较两个Object数组是否相等方法实例
Nov 11 Javascript
vue-cli3.X快速创建项目的方法步骤
Nov 14 Javascript
浅谈Vue static 静态资源路径 和 style问题
Nov 07 Javascript
vue 实现element-ui中的加载中状态
Nov 11 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对MongoDB[NoSQL]数据库的操作
2013/03/01 PHP
浅析Mysql 数据回滚错误的解决方法
2013/08/05 PHP
php-fpm配置详解
2014/02/12 PHP
使用swoole扩展php websocket示例
2014/02/13 PHP
跟我学Laravel之快速入门
2014/10/15 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
2017/02/08 PHP
Laravel框架中队列和工作(Queues、Jobs)操作实例详解
2020/04/06 PHP
JS Date函数整理方便使用
2013/10/23 Javascript
IE下window.onresize 多次调用与死循环bug处理方法介绍
2013/11/12 Javascript
jquery使用jquery.zclip插件复制对象的实例教程
2013/12/04 Javascript
JavaScript类属性的访问方式详解
2014/02/11 Javascript
jQuery实现自定义下拉列表
2015/01/05 Javascript
Javascript实现的SHA-256加密算法完整实例
2016/02/02 Javascript
Javascript中return的使用与闭包详解
2017/01/11 Javascript
vue子父组件通信的实现代码
2017/07/09 Javascript
jQuery实现锚点向下平滑滚动特效示例
2017/08/29 jQuery
利用jqprint插件打印页面内容的实现方法
2018/01/09 Javascript
微信小程序实现的五星评价功能示例
2019/04/25 Javascript
微信小程序实现的canvas合成图片功能示例
2019/05/03 Javascript
解决 viewer.js 动态更新图片导致无法预览的问题
2019/05/14 Javascript
json数据格式常见操作示例
2019/06/13 Javascript
原生js实现碰撞检测
2020/03/12 Javascript
对pandas进行数据预处理的实例讲解
2018/04/20 Python
python将txt等文件中的数据读为numpy数组的方法
2018/12/22 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
2019/11/27 Python
使用python远程操作linux过程解析
2019/12/04 Python
python分布式爬虫中消息队列知识点详解
2020/11/26 Python
app内嵌H5 webview 本地缓存问题的解决
2020/10/19 HTML / CSS
俄罗斯隐形眼镜和眼镜在线商店:Cronos
2020/06/02 全球购物
简历自我评价模版
2014/01/31 职场文书
高二政治教学反思
2014/02/01 职场文书
3.12植树节活动总结2014
2014/03/13 职场文书
家居装修公司创业计划书范文
2014/03/20 职场文书
领导新年致辞2016
2015/07/29 职场文书
python基于tkinter制作m3u8视频下载工具
2021/04/24 Python
postgresql之greenplum字符串去重拼接方式
2023/05/08 PostgreSQL