求出字符串中出现的字母的个数
// 只要求字母的个数
function counter(str) {
if (!str) {
return {}
}
var obj = {};
var newStr = str.replace(/\s|\d/g, ''); // 将空格和数字去除
var arr = newStr.split('').sort(); // 排个序
var count = 1;
for (var i = 0; i < arr.length; i++) {
// 判断是否存在该key
if (obj.hasOwnProperty(arr[i])) {
// 注意这里不能使用 count++, 因为counter++在下一次循环之后才真正加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}
使用正则去除首尾的空格
这个一开始想复杂了,开始是准备使用 ?=
这种方式做的,后来发现没有必要
function trim(str) {
return str.replace(/^\s+|\s+$/g, '')
}
浏览器渲染的过程解释
参考文章:
输入网址到页面显示之间发生了什么
文章参考: