计算每个数组项的出现次数并将结果作为对象返回

Jho*_*hon 3 javascript arrays duplicates categorization categorical-data

任何本机替代品:

const colorArray = ['red', 'green', 'green', 'blue', 'purple', 'red', 'red', 'black'];
Run Code Online (Sandbox Code Playgroud)

到:

Object {
  "red": 3,
  "green": 2,
  "blue": 1,
  "purple": 1,
  "black": 1
}
Run Code Online (Sandbox Code Playgroud)

在javascript中??

const colorArray = ['red', 'green', 'green', 'blue', 'purple', 'red', 'red', 'black'];
Run Code Online (Sandbox Code Playgroud)
那是我尝试完成此操作的尝试,但我想要一个已经内置的本机解决方案。

感谢您的宝贵努力和时间!!

Yev*_*kov 6

Array.prototype.reduce() 似乎与您要查找的内容非常接近:

const src = ['red', 'green', 'green', 'blue', 'purple', 'red', 'red', 'black'],

      result = src.reduce((acc,color) => (acc[color]=(acc[color]||0)+1, acc), {})
      
console.log(result)
Run Code Online (Sandbox Code Playgroud)
.as-console-wrapper{min-height:100%;}
Run Code Online (Sandbox Code Playgroud)