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

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) —
推荐阅读:Using Bitmasking Algorithm to Compute the Combinations of an Arr Flashing the BIOS of HPZ800 Server to 3.61 Rev.A Algorithm to Sum The Fibonacci Numbers How to Adapt Your Blog to Increasing Zero-Click Searches Understanding Marketing Automation & Its Perks for Your Busi Adobe Flash Player Nears its EOL, Will this Affect your Blog? How to Create Unique Content through User Personas 5 Excellent 10x Content Examples To Boost Your Blog Traffic How to Vlog: A Guide to Start Vlogging in 2020 5 Healthy Lifestyle Blogs to Know This 2020
- 评论列表
-
- 添加评论