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中字符串(string)转json的2种方法
Jun 25 Javascript
原生js实现移动端瀑布流式代码示例
Dec 18 Javascript
详解jQuery中的DOM操作
Dec 23 Javascript
JavaScript验证知识整理
Mar 24 Javascript
详解react-router如何实现按需加载
Jun 15 Javascript
Javascript中this关键字指向问题的测试与详解
Aug 11 Javascript
jQuery实现动态添加节点与遍历节点功能示例
Nov 09 jQuery
原生js实现省市区三级联动代码分享
Feb 12 Javascript
vue组件实现可搜索下拉框扩展
Oct 23 Javascript
AngularJs分页插件使用详解
Jun 30 Javascript
对angular 实时更新模板视图的方法$apply详解
Oct 09 Javascript
jquery实现进度条状态展示
Mar 26 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 - Html Transfer Code
2006/10/09 PHP
PHP 5.6.11 访问SQL Server2008R2的几种情况详解
2016/08/08 PHP
PHP编程计算日期间隔天数的方法
2017/04/26 PHP
layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例
2018/05/12 PHP
PHP操作Redis常用命令的实例详解
2020/12/23 PHP
javascript学习笔记(十二) RegExp类型介绍
2012/06/20 Javascript
通过js简单实现将一个文本内容转译成加密文本
2013/10/22 Javascript
Extjs的FileUploadField文件上传出现了两个上传按钮
2014/04/29 Javascript
ECMAScript6中Set/WeakSet详解
2015/06/12 Javascript
jquery trigger实现联动的方法
2016/02/29 Javascript
NodeJS的Promise的用法解析
2016/05/05 NodeJs
JavaScript实现邮箱地址自动匹配功能代码
2016/11/28 Javascript
JavaScript交换两个变量值的七种解决方案
2016/12/01 Javascript
微信小程序左滑删除效果的实现代码
2017/02/20 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
2017/07/06 Javascript
详解mpvue开发小程序小总结
2018/07/25 Javascript
ant-design-vue 实现表格内部字段验证功能
2019/12/16 Javascript
Echarts在Taro微信小程序开发中的踩坑记录
2020/11/09 Javascript
[02:28]DOTA2 2015国际邀请赛中国区预选赛首日现场百态
2015/05/26 DOTA
Python3.x和Python2.x的区别介绍
2013/02/12 Python
Django发送html邮件的方法
2015/05/26 Python
win10下tensorflow和matplotlib安装教程
2018/09/19 Python
python将pandas datarame保存为txt文件的实例
2019/02/12 Python
Ancheer官方户外和运动商店:销售电动自行车
2019/08/07 全球购物
意大利比基尼品牌:MISS BIKINI
2019/11/02 全球购物
业务主管岗位职责
2013/11/20 职场文书
体育系毕业生求职自荐信
2014/04/16 职场文书
五年级学生评语
2014/04/22 职场文书
文明好少年事迹材料
2014/08/19 职场文书
农林经济管理专业自荐信
2014/09/01 职场文书
2014小学教师年度考核工作总结
2014/12/03 职场文书
婚宴来宾致辞
2015/07/28 职场文书
《植树问题》教学反思
2016/03/03 职场文书
原来闭幕词是这样写的呀!
2019/07/01 职场文书
Nginx使用X-Accel-Redirect实现静态文件下载的统计、鉴权、防盗链、限速等
2021/04/04 Servers
一文搞清楚MySQL count(*)、count(1)、count(col)区别
2022/03/03 MySQL