• js小练习去掉指定的字符组成一句话输出


    今天在codewar做练习题时,要求写一个函数把一个字符串去掉WUB这些多余的字符然后把剩下的组成一句话输出,如传入"WUBAWUBBWUBCWUB"后返回"A B C"我的源代码是如下

    function songDecoder(song){
      // ...
      var words=song.split('WUB');
      var str1="";
      for(var i=0;i<words.length;i++){
          if(words[i]==""){
          str1=str1+words[i]+" ";
          }
      }
      return str1.trim();
    }

    先把字符串用split函数分解为数组然后遍历该数组把其中不为空字符串的数组值相加并加上空格,这样就组成了一串字符,然后通过trim去掉开始和末尾的空格。

    我的解决方法非常繁琐看了其他人的答案后只需要如下写就行了

    function songDecoder(song){
      // ...
      return song.split("WUB").filter(Boolean).join(" ")
    }

    先是用split函数然后用数组的filter函数,该函数会把数组的每一项传入括号内的函数中然后将返回结果为true的项返回组成一个新数组。而Boolean函数是将值转换为布尔值,而空字符串是为false。所以返回的数据就是去掉WUB的字符数组。然后再通过join函数转为字符串。

    除了上面的这种方法还有运用正则表达式的。这种方法更简单,但是我一直不太会正则表达式。

    function songDecoder(song){
      return song.replace(/(WUB)+/g," ").trim()
    }

    以上是一些常用的函数,但是由于经验不足并不能活学活用就要多练多看

  • 相关阅读:
    Linux内核分析作业六
    课本第三章读书笔记
    课本第十八章读书笔记
    Linux内核分析作业五
    课本第五章读书笔记
    MSF MS11-050/10-087/Adobe攻击实践及内存保护技术
    Linux课题实践五——字符集总结与分析
    Linux课题实践四——ELF文件格式分析
    Linux课题实践三——程序破解
    实践二——内核模块
  • 原文地址:https://www.cnblogs.com/liziyu91/p/5656774.html
Copyright © 2020-2023  润新知