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

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) —
推荐阅读:7 ABC’s for Turning Words into Money with Your Blog Here’s What You Don’t Know About The Oxford Comma Euro 2016: Underway And Plenty Has Changed A Look Behind the Curtain of the Fashion Blogging World How To Bring Your Old Blog Posts Back From The Dead Five Essential Photography Tips for Bloggers Desired Domain Name Taken? Here’s What To Do Next Sex Bloggers Shocked By Tumblr’s Smut Smackdown Can You Recover From A Facebook Rant Gone Viral? Blogging On A Schedule: Why Providing Consistent Content Matters
- 评论列表
-
- 添加评论