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 相关文章推荐
CSS+JS构建的图片查看器
Jul 22 Javascript
自动完成JS类(纯JS, Ajax模式)
Mar 12 Javascript
关于jquery性能最佳实践的讨论,与求教
Mar 30 Javascript
js实现兼容IE和FF的上下层的移动
May 04 Javascript
浅谈javascript中基本包装类型
Jun 03 Javascript
Javascript 字符串模板的简单实现
Feb 13 Javascript
详解Angular中$cacheFactory缓存的使用
Aug 19 Javascript
基于Vue2.0的分页组件
Mar 16 Javascript
Angular.js中ng-include用法及多标签页面的实现方式详解
May 07 Javascript
微信小程序下拉刷新界面的实现
Sep 28 Javascript
tangram.js库实现js类的方式实例分析
Jan 06 Javascript
vue实现动态按钮功能
May 13 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 裁剪图片成固定大小代码方法
2009/09/09 PHP
PHP array_push 数组函数
2009/12/26 PHP
php获取网页中图片、DIV内容的简单方法
2014/06/19 PHP
Javascript 兼容firefox的一些问题
2009/05/21 Javascript
JavaScript 定义function的三种方式小结
2009/10/16 Javascript
推荐10个2014年最佳的jQuery视频插件
2014/11/12 Javascript
Bootstrap表格使用方法详解
2017/02/17 Javascript
前端页面文件拖拽上传模块js代码示例
2017/05/19 Javascript
js实现省市级联效果分享
2017/08/10 Javascript
vue2.0 兄弟组件(平级)通讯的实现代码
2018/01/15 Javascript
vue项目中导入swiper插件的方法
2018/01/30 Javascript
node版本管理工具n包使用教程详解
2018/11/09 Javascript
一秒学会微信小程序制作table表格
2019/02/14 Javascript
JS实现水平遍历和嵌套递归操作示例
2019/08/15 Javascript
基于javascript实现贪吃蛇小游戏
2019/11/25 Javascript
Python批量修改文本文件内容的方法
2016/04/29 Python
Python内置函数reversed()用法分析
2018/03/20 Python
numpy 计算两个数组重复程度的方法
2018/11/07 Python
详解python:time模块用法
2019/03/25 Python
解决python中使用PYQT时中文乱码问题
2019/06/17 Python
如何使用Python标准库进行性能测试
2019/06/25 Python
Python Opencv提取图片中某种颜色组成的图形的方法
2019/09/19 Python
华纳兄弟工作室的官方授权商店:WB Shop
2018/11/30 全球购物
Ben Sherman官方网站:英国男装品牌
2019/10/22 全球购物
研究生自我鉴定范文
2013/10/30 职场文书
2014年幼儿园元旦活动方案
2014/02/13 职场文书
《玩具柜台前的孩子》教学反思
2014/02/13 职场文书
遗体告别仪式主持词
2014/03/20 职场文书
高中生家长寄语大全
2014/04/03 职场文书
个人诉讼委托书范本
2014/10/17 职场文书
搬迁通知
2015/04/20 职场文书
幼儿园安全工作总结2015
2015/04/20 职场文书
离婚答辩状范文
2015/05/22 职场文书
《哪吒之魔童降世》观后感:世上哪有随随便便的成功
2019/11/08 职场文书
python通配符之glob模块的使用详解
2021/04/24 Python
使用qt quick-ListView仿微信好友列表和聊天列表的示例代码
2021/06/13 Python