Skip to content

统计字符数

需求

统计字符串中每个字符出现的次数。

代码实现

js
const str = 'abcabcabc'

const countChars = (str) => {
  const res = {}
  for (const char of str) {
    if (res[char]) {
      res[char]++
    } else {
      res[char] = 1
    }
  }
  return res
}

console.log(countChars(str)) // { a: 3, b: 3, c: 3 }
js
const str = 'abcabcabc'
const countChars = (str) => [...str].reduce((a, b) => (a[b]++ || (a[b] = 1), a), {})
console.log(countChars(str)) // { a: 3, b: 3, c: 3 }

// const countChars = (str) => {
//   return [...str].reduce((a, b) => {
//     if (a[b]) {
//       a[b]++
//     } else {
//       a[b] = 1
//     }
//     return a
//   }, {})
// }

逗号运算符

逗号(,)运算符 对它的每个操作数从左到右求值,并返回最后一个操作数的值。

js
let x = 1
x = (x++, x)
console.log(x) // 2

基于 MIT 许可发布