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对象的比较
Feb 26 Javascript
JS简单实现元素复制示例附图
Nov 19 Javascript
Javascript实现简单的富文本编辑器附演示
Jun 16 Javascript
JavaScript实现16进制颜色值转RGB的方法
Feb 09 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
Jun 24 Javascript
javascript和jquery实现用户登录验证
May 04 Javascript
Ionic+AngularJS实现登录和注册带验证功能
Feb 09 Javascript
解决Vue编译时写在style中的路径问题
Sep 21 Javascript
JavaScript实现简单动态进度条效果
Apr 06 Javascript
jQuery 实现倒计时天,时,分,秒功能
Jul 31 jQuery
深入了解JavaScript代码覆盖
Jun 13 Javascript
JQuery事件冒泡和默认行为代码实例
May 13 jQuery
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 AJAX实例根据邮编自动完成地址信息
2008/11/23 PHP
两个开源的Php输出Excel文件类
2010/02/08 PHP
php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
2011/05/24 PHP
PHP zip扩展Linux下安装过程分享
2014/05/05 PHP
PHP判断数据库中的记录是否存在的方法
2014/11/14 PHP
php使用curl实现ftp文件下载功能
2017/05/16 PHP
php实现的支付宝网页支付功能示例【基于TP5框架】
2019/09/16 PHP
Javascript 数组排序详解
2014/10/22 Javascript
js格式化时间的方法
2015/12/18 Javascript
简单总结JavaScript中的String字符串类型
2016/05/26 Javascript
第九篇Bootstrap导航菜单创建步骤详解
2016/06/21 Javascript
基于jQuery的AJAX和JSON实现纯html数据模板
2016/08/09 Javascript
JS对HTML表格进行增删改操作
2016/08/22 Javascript
javascript实现简单的on事件绑定
2016/08/23 Javascript
微信端开发--登录小程序步骤
2017/01/11 Javascript
js获取html页面代码中图片地址的实现代码
2018/03/05 Javascript
Vue 中使用 CSS Modules优雅方法
2018/04/09 Javascript
浅谈VueJS SSR 后端绘制内存泄漏的相关解决经验
2018/12/20 Javascript
jQuery实现的简单日历组件定义与用法示例
2018/12/24 jQuery
JQuery中queue方法用法示例
2019/01/31 jQuery
详解微信UnionID作用
2019/05/15 Javascript
微信小程序跳转到其他网页(外部链接)的实现方法
2019/09/20 Javascript
详解vue beforeEach 死循环问题解决方法
2020/02/25 Javascript
[01:04:08]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第一场 12.16
2020/12/18 DOTA
python中将正则过滤的内容输出写入到文件中的实例
2018/10/21 Python
Python参数解析模块sys、getopt、argparse使用与对比分析
2019/04/02 Python
python图的深度优先和广度优先算法实例分析
2019/10/26 Python
python编写一个会算账的脚本的示例代码
2020/06/02 Python
详解anaconda离线安装pytorchGPU版
2020/09/08 Python
详解python 条件语句和while循环的实例代码
2020/12/28 Python
通过CSS3的object-fit来调整图片适配尺寸的技巧简介
2016/02/27 HTML / CSS
用HTML5.0制作网页的教程
2010/05/30 HTML / CSS
浅谈基于Canvas的手绘风格图形库Rough.js
2018/03/19 HTML / CSS
家长会演讲稿
2014/04/26 职场文书
做一个有道德的人活动方案
2014/08/25 职场文书
县政府班子个人对照检查材料
2014/10/05 职场文书