JS实现计算字符串字符出现次数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
var arrString = 'abcdaabc';
var tt = arrString.split('').reduce(function(res, cur) {
console.log("cur",cur);
res[cur] ? res[cur] ++ : res[cur] = 1
console.log("res",res);
return res;
}, {})
console.log(tt);
</script>
</head>
<body>
<h1>
Hello
</h1>
</body>
</html>
reduce() 数组的reduce 可以参考
array的reduce描述
详细介绍了 reduce() 的四个参数和作用。
代码中 res[cur] ? res[cur] ++ : res[cur] = 1
其中res 是每次处理后返回的结果(实际是一个数组,这个数组是一具体的字符最为下表,出现次数作为值。)
res[cur] ? res[cur] ++ : res[cur] = 1 整体是一个三目运算,res[cur] 存在就 原值+1,不存在就设为1, 有些类似map的key value,但是写法却是数组类型的。
可以copy 代码直接浏览器打开,F12查看结果。