用javascrip或es6的Array.reduce()方法计算一个字符串中每个字符出现的次数
es6/js/jQuery技巧
2019-08-05
方法一(推荐):
用es6的Array.reduce()函数配合“…”扩展符号可以更方便的处理该问题。
const str = 'abcdabcdabdeedeegjh'
const newArr = str.split('').reduce((res, c) => {
res[c]?res[c]++:res[c]=1;
return res
}, {})
console.log(newArr)
结果:{ a: 3, b: 3, c: 2, d: 4, e: 4, g: 1, h: 1, j: 1 }
方法二javascript Array配合Object的方式:
const arr="abcdaabc";
let counter = {};
for (let i = 0, len = arr.length; i < len; i++ ) {
counter[arr[i]] ? counter[arr[i]]++ : counter[arr[i]] = 1;
}
console.log(counter);
结果:{a: 3, b: 2, c: 2, d: 1}
读后有收获可以支付宝请作者喝咖啡
湘ICP备15005320号-1
似懂非懂 Powered by doyo.
网站地图