字符串去掉重复的字符+计算字符串中出现过的字符及其次数

例:查找字符串"abcoefoxyozzopp"中出现过的字符。

function isAppear(str) { //去掉重复的字符
  var newStr = "";
  for (var i = 0; i < str.length; i++) {
    if (newStr.indexOf(str.charAt(i) === -1) {
      newStr += str.charAt(i);
    }
  }
  return newStr;
}
//调用函数
console.log(isAppear("oabcoefoxyozzopp"));

例:查找字符串"abcoefoxyozzopp"中出现过的字符所有出现的位置以及次数。  

function appearTimes(str, find) { //计算字符出现的次数
  var newArr = [];
  var i = 0;
  while (str.indexOf(find, i) !== -1) {
    newArr.push(str.indexOf(find, i));
    i = str.indexOf(find, i) + 1;
  }
  return newArr;
}

function isAppear(str) { //去掉重复的字符
  var newStr = "";
  for (var i = 0; i < str.length; i++) {
    if (newStr.indexOf(str.charAt(i) === -1) {
      newStr += str.charAt(i);
    }
  }
  return newStr;
}

var newStr = isAppear("oabcoefoxyozzopp");
for (var i = 0; i < newStr.length; i++) {//遍历每一个出现过的字符
 //打印字符、字符在字符串中出现的位置,字符在字符串出现的次数
  var chars = appearTimes(str, (newStr.charAt(i)));
  console.log(newStr.charAt(i), chars, chars.length);
}

 例:查找字符串"abcoefoxyozzopp"中出现过的字符所有的次数。 【最推荐的】

//利用对象存储字符并统计字符个数
function appearStr(str){
  var obj = {};
  for (var i = 0; i < str.length; i++) {
    var char = str.charAt(i);
    if(obj[char]){
      obj[char]++;
    }else{
      obj[char] = 1;
    }
  }
  return obj;
}
//调用函数
console.log(appearStr('abcoefoxyozzopp'));

今日心得:个人很喜欢用函数将计算过程过程封装起来,既不会和其他代码混淆,看起来非常整洁好看。方便写项目的时候调用。 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值