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查看結果。