Javascript 给定一串字母,如何计算每个字母的出现次数?
给定一个字母字符串,我希望创建一个包含键值对的对象,以字母为键,字符串中出现的次数为值 因此,给定“aabccc”,函数应返回: {a:2,b:1,c:3} 什么是计算字母的好方法?理想情况下,遵循函数式编程范式并利用ES6功能(如果适用)。直到现在,我只使用C++和OO,所以我在我的舒适区之外使用工具和技术练习。我对ES6和函数式编程的所有新特性都很陌生,所以我希望为它们培养正确的思维方式 如有任何见解,将不胜感激。谢谢。您可以使用和 这里的想法是Javascript 给定一串字母,如何计算每个字母的出现次数?,javascript,ecmascript-6,functional-programming,Javascript,Ecmascript 6,Functional Programming,给定一个字母字符串,我希望创建一个包含键值对的对象,以字母为键,字符串中出现的次数为值 因此,给定“aabccc”,函数应返回: {a:2,b:1,c:3} 什么是计算字母的好方法?理想情况下,遵循函数式编程范式并利用ES6功能(如果适用)。直到现在,我只使用C++和OO,所以我在我的舒适区之外使用工具和技术练习。我对ES6和函数式编程的所有新特性都很陌生,所以我希望为它们培养正确的思维方式 如有任何见解,将不胜感激。谢谢。您可以使用和 这里的想法是 首先在每个字符上拆分字符串 在reduce中
let str=`aabccc`
让输出=str.split('').reduce((op,inp)=>{
if(op[inp]){
op[inp]++
}否则{
op[inp]=1
}
返回操作
},{})
console.log(输出)
或者您可以使用lodash的.reduce()
跳过拆分<代码>.\reduce(str,(obj,c)=>{obj[c]?obj[c]+:obj[c]=1;返回obj;},{})