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 相关文章推荐
使用jscript实现二进制读写脚本代码
Jun 09 Javascript
Javascript 实现TreeView CheckBox全选效果
Jan 11 Javascript
JQuery 1.6发布 性能提升,同时包含大量破坏性变更
May 10 Javascript
jQuery EasyUI API 中文文档 - Tabs标签页/选项卡
Oct 01 Javascript
实现只能输入数字的input不用replace方法
Sep 12 Javascript
在javaScript中关于submit和button的区别介绍
Oct 20 Javascript
jQuery的context属性用法实例
Dec 27 Javascript
JavaScript html5 canvas画布中删除一个块区域的方法
Jan 26 Javascript
由浅入深剖析Angular表单验证
Jul 14 Javascript
Javascript基础回顾之(一) 类型
Jan 31 Javascript
Javascript中数组去重与拍平的方法示例
Feb 03 Javascript
JS与jQuery判断文本框还剩多少字符可以输入的方法
Sep 01 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
DC《小丑》11项提名领跑奥斯卡 Netflix成第92届奥斯卡提名最大赢家
2020/04/09 欧美动漫
php下删除字符串中HTML标签的函数
2008/08/27 PHP
thinkphp 一个页面使用2次分页的实现方法
2013/07/15 PHP
PHP根据图片色界在不同位置加水印的方法
2015/07/01 PHP
phpmailer绑定邮箱的实现方法
2016/12/01 PHP
PHP面向对象学习之parent::关键字
2017/01/18 PHP
PHP数据库编程之MySQL优化策略概述
2017/08/16 PHP
PHP+Redis开发的书签案例实战详解
2019/07/09 PHP
document.getElementById方法在Firefox与IE中的区别
2010/05/18 Javascript
常见JS效果之图片减速度滚动实现代码
2011/12/08 Javascript
js获取class的所有元素
2013/03/28 Javascript
JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
2013/12/14 Javascript
JavaScript判断textarea值是否为空并给出相应提示
2014/09/04 Javascript
JS声明式函数与赋值式函数实例分析
2016/12/13 Javascript
jQuery实现弹窗居中效果类似alert()
2017/02/27 Javascript
详解JavaScript对象的深浅复制
2017/03/30 Javascript
Vue仿支付宝支付功能
2018/05/25 Javascript
如何用Node写页面爬虫的工具集
2018/10/26 Javascript
vue.js的双向数据绑定Object.defineProperty方法的神奇之处
2019/01/18 Javascript
vue webpack重写cookie路径的方法
2019/07/10 Javascript
JavaScript Date对象功能与用法学习记录
2020/04/28 Javascript
[00:09]DOTA2新版本PA至宝特效动作展示
2014/11/19 DOTA
[00:32]2018DOTA2亚洲邀请赛出场——VP
2018/04/04 DOTA
python 中的列表解析和生成表达式
2011/03/10 Python
Python中的urllib模块使用详解
2015/07/07 Python
在Python的Django框架中编写编译函数
2015/07/20 Python
Python减少循环层次和缩进的技巧分析
2016/03/15 Python
对python 读取线的shp文件实例详解
2018/12/22 Python
python 在屏幕上逐字显示一行字的实例
2018/12/24 Python
使用ITK-SNAP进行抠图操作并保存mask的实例
2020/07/01 Python
俄罗斯名牌服装网上商店:UNIQUE FABRIC
2019/07/25 全球购物
批评与自我批评发言稿
2014/10/15 职场文书
房产分割协议书范文
2014/11/21 职场文书
院系推荐意见
2015/06/05 职场文书
父亲节感言
2015/08/03 职场文书
Nginx反向代理、重定向
2022/04/13 Servers