Using Reduce to Count the Array in Javascript
- 时间:2020-09-24 11:54:15
- 分类:网络文摘
- 阅读:139 次

NodeJs / Javascript
Let’s say, we have an array in Javascript, and we want to group the elements, ount their occurences and store the final results in a key-value dictionary.
Input Array:
1 | const cars = ['BMW', 'Audi', 'Audi', 'Benz', 'Benz', 'Tesla', 'BMW', 'Toyota']; |
const cars = ['BMW', 'Audi', 'Audi', 'Benz', 'Benz', 'Tesla', 'BMW', 'Toyota'];
Output JSON-like key-value pairs i.e. mapping:
{ BMW: 2, Audi: 2, Benz: 2, Tesla: 1, Toyota: 1 }
We can add a functoin count by extending the Array’s prototype. We will implement it using the Array’s reduce the array into a single value. The reduce takes two parameters, the first one is the function(previousValue, currentValue, currentIndex, currentArray), and the second value is the initial value.
1 2 3 4 5 6 | Array.prototype.count = function() { return this.reduce(function(obj, name) { obj[name] = obj[name] ? ++obj[name] : 1; return obj; }, {}); } |
Array.prototype.count = function() {
return this.reduce(function(obj, name) {
obj[name] = obj[name] ? ++obj[name] : 1;
return obj;
}, {});
}We pass the initial value, {} i.e. an empty JSON-object, then in the reduced-function, we will update the frequency of the current element in the dictionary and return the updated object for next iteration.
–EOF (The Ultimate Computing & Technology Blog) —
推荐阅读:春季喝蜂蜜功效胜补品抗过敏润肺止咳 这十种食用方法让蜂蜜营养又健康 婴幼儿等四类人群不宜食用蜂蜜 教你这七招快速辨别蜂蜜的真假 舌尖上的中国之虾子面背后的故事 豆浆和什么食物一起搭配吃更健康 家庭制作豆浆的步骤及豆浆搭配宜忌 怎么喝啤酒健康养生及饮用啤酒禁忌 饮食安全:警惕9类食物含强致癌物质 造成牙龈萎缩的原因及食疗预防牙龈萎缩
- 评论列表
-
- 添加评论