JavaScript字符串練習(xí)題之題6補(bǔ)充
標(biāo)簽:
JavaScript
之前在看这篇名为“JavaScript字符串练习之实现”时,动手试了一下各个方法,发现题目6的解法得不到想要的结果,也不太理解其解题思路,遂自己上网找了两个解法,以防自己忘记,记下以当笔记,若有人看到此文,有更好的解法,希望您能与大家分享。
方法一:
用正则匹配将各个字符从字符串中替换掉,直接用正则匹配的match().length获取每个字符出现的次数
function charCount(str) {
str = str.replace(/\s/ig, "");//去除空格
var strArr = str.split("");
var result = [],reg;
for (var i = 0; i < strArr.length; i++) {
if (str.indexOf(strArr[i]) != -1) {
reg = new RegExp(strArr[i], "ig");
counts=str.match(reg).length;
str = str.replace(reg, "");
result.push(strArr[i] + ": " + counts);
}
}
return result;
}
方法二:
用正则匹配将各个字符从字符串中替换掉,替换前字符串长度-替换后字符串长度,差值即为该字符出现的次数!
function charCount(str) {
str = str.replace(/\s/ig, "");//去除空格
var strArr = str.split("");
var result = [],beforeLength, afterLength, reg;
for (var i = 0; i < strArr.length; i++) {
if (str.indexOf(strArr[i]) != -1) {
beforeLength = str.length;
reg = new RegExp(strArr[i], "ig");
str = str.replace(reg, "");
afterLength = str.length;
result.push(strArr[i] + ": " + (beforeLength - afterLength));
}
}
return result;
}
點(diǎn)擊查看更多內(nèi)容
8人點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦