求出字符串中出現(xiàn)的字母的個(gè)數(shù)
// 只要求字母的個(gè)數(shù)
function counter(str) {
if (!str) {
return {}
}
var obj = {};
var newStr = str.replace(/\s|\d/g, ''); // 將空格和數(shù)字去除
var arr = newStr.split('').sort(); // 排個(gè)序
var count = 1;
for (var i = 0; i < arr.length; i++) {
// 判斷是否存在該key
if (obj.hasOwnProperty(arr[i])) {
// 注意這里不能使用 count++, 因?yàn)閏ounter++在下一次循環(huán)之后才真正加1
obj[arr[i]] = ++count;
} else {
obj[arr[i]] = 1;
count = 1;
}
}
return obj;
}
counter('aaaddaccuuiiiuiu ikaa')
// {a: 6, c: 2, d: 2, i: 5, k: 1, u: 4}
使用正則去除首尾的空格
這個(gè)一開(kāi)始想復(fù)雜了,開(kāi)始是準(zhǔn)備使用 ?= 這種方式做的,后來(lái)發(fā)現(xiàn)沒(méi)有必要
function trim(str) {
return str.replace(/^\s+|\s+$/g, '')
}
瀏覽器渲染的過(guò)程解釋
參考文章:
輸入網(wǎng)址到頁(yè)面顯示之間發(fā)生了什么
文章參考: