JS算法教程之字符串去重与字符串反转

一、字符串去重

说起字符串去重,第一时间就会想起数组去重,所以我们可以把字符串转换为数组,然后对数组去重,去重完毕后在拼接成字符串,下面就简单罗列两种字符串去重的方法,接下来我们看代码。

第一种方法:

逻辑步骤:

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字符串去重与反转内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 字符串反转_JavaScript

    今天在freeCodeCamp上面刷题,碰到一题是有关于字符串反转.反转一个字符串是JavaScript中常见的面试题之一.可能面试官会给你一个字符串"Hello Word!",让你通过JavaScript的方法,将其变成"!droW olleH". 我也是初学者,利用前面所学数组相关的知识以及题目的提示,我算是过关了,后来想,是不是还有其他的方法能破此题呢?搜索了一下,还是有不少的方法,这里把这些方法罗列一下,以备后面可以使用. 要做的事情 我们要做的事情: 将提

  • 一个JavaScript递归实现反转数组字符串的实例

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>每天一个JavaScript实例-递归实现反转数组字符串</title> <script> var func = function(x,indx,str){ return

  • 详解JS去重及字符串奇数位小写转大写

    面试中经常会考到数组的去重.作为一名合格的前端开发者,不知道几种去重方法是在不应该.废话不多说直接开撸-- 一.indexOf()方法 实现思路:使用indexOf()方法来判断新数组中是否有这个值,若没有则将这个值push到数组中 //先定义一个数组 var arr = [,'','',,,,,,,,]; function remov(array) { var arr=[]; for (var i=,len=array.length;i<len;i++){ if (arr.indexOf(ar

  • js字符串去重复id的实现代码

    js去重复id String.prototype.repeatOpt = function () { var str = this + "",objStr = ""; for (var i = 0; i [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 我经常用的代码: js去除重复id function $Obj(objname){ return document.getElementById(objname); } //供使用者调用 function

  • javascript 实现字符串反转的三种方法

    第一种方法 复制代码 代码如下: var str = "abcdef"; console.log( str.split("").reverse().join("") ): 第二种方法: 复制代码 代码如下: var str="abcdef" var i=str.length; i=i-1; for (var x = i; x >=0; x--) { document.write(str.charAt(x)); } 第三种

  • JavaScript实现反转字符串的方法详解

    本文实例讲述了JavaScript实现反转字符串的方法.分享给大家供大家参考,具体如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>JavaScript 实现反转字符串</title> </head> <body> <script langu

  • JS实现字符串去重及数组去重的方法示例

    本文实例讲述了JS实现字符串去重及数组去重的方法.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>www.jb51.net js数组.字符串去重</title> </head> <body> <script type="text/j

  • JS实现的字符串数组去重功能小结

    本文实例讲述了JS实现的字符串数组去重功能.分享给大家供大家参考,具体如下: 这里只考虑最简单字符串的数组去重,暂不考虑,对象,函数,NaN等情况,这种用正则实现起来就吃力不讨好了. 非正则实现:ES6实现 <script> let str_arr=["b","c",1,"a", 3,"v", "2","e", "6","g", &qu

  • javascript实现字符串反转的方法

    本文实例讲述了javascript实现字符串反转的方法.分享给大家供大家参考.具体实现方法如下: //变量交换 方法 var a=0,b=1,c=2; a=[b,b=c,c=a][0]; //正文 var array='abcdefgh'; function Reverse(arr){ var arr1=arr.split('');//[a,b,c,d,e,f,g] var halfLen=Math.floor(arr.length/2);//3 alert(halfLen) var len=a

  • javascript 不用reverse实现字符串反转的代码

    function reverse() { var str=document.getElementById("input").value; var a=str.split(''); var result=new Array(); while(a.length) { result.push(a.pop()); } document.getElementById("result").innerHTML=result.join(''); } javascript =>

随机推荐