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 相关文章推荐
邮箱下拉自动填充选择示例代码附图
Apr 03 Javascript
代码分析jQuery四种静态方法使用
Jul 23 Javascript
js实现的简单radio背景颜色选择器代码
Aug 18 Javascript
基于jQuery实现收缩展开功能
Mar 18 Javascript
jQuery实现的瀑布流加载效果示例
Sep 13 Javascript
vue.js利用Object.defineProperty实现双向绑定
Mar 09 Javascript
使用JQ完成表格隔行换色的简单实例
Aug 25 Javascript
JavaScript实现构造json数组的方法分析
Aug 17 Javascript
vue实现按需加载组件及异步组件功能
May 27 Javascript
微信小程序拖拽排序列表的示例代码
Jul 08 Javascript
Js跳出两级循环方法代码实例
Sep 22 Javascript
react ant Design手动设置表单的值操作
Oct 31 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数组函数序列之array_keys() - 获取数组键名
2011/10/30 PHP
PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
2012/10/05 PHP
PHP读取、解析eml文件及生成网页的方法示例
2017/09/04 PHP
一个tab标签切换效果代码
2009/03/27 Javascript
javascript eval和JSON之间的联系
2009/12/31 Javascript
基于jquery的Repeater实现代码
2010/07/17 Javascript
jQuery1.6 类型判断实现代码
2011/09/01 Javascript
js中的数组Array定义与sort方法使用示例
2013/08/29 Javascript
JS冒泡事件的快速解决方法
2013/12/16 Javascript
JavaScript使用cookie记录临时访客信息的方法
2015/04/07 Javascript
JS实现仿苹果底部任务栏菜单效果代码
2015/08/28 Javascript
JavaScript实现点击按钮字体放大、缩小
2016/02/29 Javascript
AngularJS  自定义指令详解及实例代码
2016/09/14 Javascript
JavaScript实现向select下拉框中添加和删除元素的方法
2017/03/07 Javascript
Angular2中如何使用ngx-translate进行国际化
2017/05/21 Javascript
vue多级复杂列表展开/折叠及全选/分组全选实现
2018/11/05 Javascript
Vue+Koa2+mongoose写一个像素绘板的实现方法
2019/09/10 Javascript
LayUI switch 开关监听 获取属性值、更改状态的方法
2019/09/21 Javascript
解决await在forEach中不起作用的问题
2021/02/25 Javascript
python连接字符串的方法小结
2015/07/13 Python
Python爬虫抓取手机APP的传输数据
2016/01/22 Python
详解python3中tkinter知识点
2018/06/21 Python
用Pelican搭建一个极简静态博客系统过程解析
2019/08/22 Python
Jupyter notebook如何实现指定浏览器打开
2020/05/13 Python
CSS图片翻转动画技术详解(IE也实现了)
2014/04/03 HTML / CSS
使用CSS3配合IE滤镜实现渐变和投影的效果
2015/09/06 HTML / CSS
涂鸦板简单实现 Html5编写属于自己的画画板
2016/07/05 HTML / CSS
入党积极分子自我鉴定范文
2014/03/25 职场文书
法定代表人授权委托书范文
2014/09/22 职场文书
先进典型事迹材料
2014/12/29 职场文书
特此通知格式
2015/04/27 职场文书
安全守法证明
2015/06/23 职场文书
2016年“我们的节日·重阳节”主题活动总结
2016/04/01 职场文书
JavaScript实现简单图片切换
2021/04/29 Javascript
在Spring-Boot中如何使用@Value注解注入集合类
2021/08/02 Java/Android
Redis基本数据类型Set常用操作命令
2022/06/01 Redis