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 相关文章推荐
Array.prototype.slice.apply的使用方法
Mar 17 Javascript
ASP.NET jQuery 实例9  通过控件hyperlink实现返回顶部效果
Feb 03 Javascript
浅析js中2个等号与3个等号的区别
Aug 06 Javascript
javascript实现在某个元素上阻止鼠标右键事件的方法和实例
Aug 12 Javascript
整理Javascript基础入门学习笔记
Nov 29 Javascript
原生js实现数字字母混合验证码的简单实例
Dec 10 Javascript
基于javascript实现仿百度输入框自动匹配功能
Jan 03 Javascript
jQuery中的100个技巧汇总
Dec 15 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
Jan 03 Javascript
vue实现的微信机器人聊天功能案例【附源码下载】
Feb 18 Javascript
浅谈 Webpack 如何处理图片(开发、打包、优化)
May 15 Javascript
微信小程序indexOf的替换方法(推荐)
Jan 14 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
apache+mysql+php+ssl服务器之完全安装攻略
2006/09/05 PHP
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
2012/09/19 PHP
Codeigniter实现多文件上传并创建多个缩略图
2014/06/12 PHP
解决ThinkPHP关闭调试模式时报错的问题汇总
2015/04/22 PHP
php和html的区别点详细总结
2019/09/24 PHP
用JavaScript脚本实现Web页面信息交互
2006/10/11 Javascript
JS的IE和Firefox兼容性集锦
2006/12/11 Javascript
js字符编码函数区别分析
2008/06/05 Javascript
一个JS小玩意 几个属性相加不能超过一个特定值.
2009/09/29 Javascript
基于javascript实现简单计算器功能
2016/01/03 Javascript
jquery树形菜单效果的简单实例
2016/06/06 Javascript
JavaScript“尽快失败”的原则实例详解
2016/10/08 Javascript
浅谈react.js中实现tab吸顶效果的问题
2017/09/06 Javascript
用Vue写一个分页器的示例代码
2018/04/22 Javascript
微信小程序使用canvas的画图操作示例
2019/01/18 Javascript
原生JS实现逼真的图片3D旋转效果详解
2019/02/16 Javascript
微信小程序wepy框架学习和使用心得详解
2019/05/24 Javascript
[49:21]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第二场 11.05
2020/11/06 DOTA
[07:37]DOTA2-DPC中国联赛2月2日Recap集锦
2021/03/11 DOTA
Python中设置变量作为默认值时容易遇到的错误
2015/04/03 Python
利用python模拟sql语句对员工表格进行增删改查
2017/07/05 Python
Pandas 数据处理,数据清洗详解
2018/07/10 Python
Python3实现对列表按元组指定列进行排序的方法分析
2018/12/22 Python
Python 字符串处理特殊空格\xc2\xa0\t\n Non-breaking space
2020/02/23 Python
Python json模块与jsonpath模块区别详解
2020/03/05 Python
中外合拍动画首获奥斯卡提名,“上海出品”《飞奔去月球》能否拿下最终大奖?
2021/03/16 国漫
HTML5图片预览实例分享
2014/06/04 HTML / CSS
体育教育专业毕业生自荐信
2013/11/15 职场文书
马丁路德金演讲稿
2014/05/19 职场文书
文明生主要事迹
2014/05/25 职场文书
安全资料员岗位职责范本
2014/06/28 职场文书
培训科主任岗位职责
2014/08/08 职场文书
酒店采购员岗位职责
2015/04/03 职场文书
观看禁毒宣传片后的感想
2015/08/11 职场文书
幼儿园小班开学寄语(2016秋季)
2015/12/03 职场文书
详解Golang如何实现支持随机删除元素的堆
2022/09/23 Python