获取字符串中含有某后缀的单词

首先先感谢美女耐心的帮我看了一个多小时。。真的很感谢。。
好了 说一下本题的需求:

大致是扩展String,完成getSuffixList方法,使其找出所有包含指定后缀的单词,以及记录单词出现的次数,最终返回按倒序排列次数的单词。
例如:
字符串:“careful beautiful beautiful aful careful beautiful”
后缀:ful
输出结果:"beautiful=3,careful=2,aful=1"

String.prototype.getSuffixList = function(suffix){
    var result = "";
    var reg = new RegExp("^[A-Za-z]+("+suffix+")$");
    console.log(reg); //  正则为 /^[A-Za-z]+(ful)$/
    var arr = this.split(" ");  //将字符串用空格分成数组
    var obj = {}; //创建一个对象存放符合的字符串和对应的次数
  
    //知识点1:reg.exec()有一个细节,大概磨蹭了快一个小时,就因为在数组内使用了/g的正则
    //reg.exec()在没有/g的情况下匹配当前单词
    //reg.exec()在有/g的情况下在字符串内匹配所有单词
    for(var i=0;i= 0) {
    c.splice(c.indexOf('undefined'),1);
  }
  for(var i = 0; i < c.length; i++){
      for(var key in obj){
        if(c[i] == key){
          array.push(key+"="+obj[key]);
          break;
        }
      }
  }
  return array.join(",");//将结果数组转成字符串用,分割
};
console.log("careful beautiful beautiful aful careful beautiful".getSuffixList('ful'));

你可能感兴趣的:(获取字符串中含有某后缀的单词)