Over a million developers have joined DZone.

A JavaScript MapReduce One-Liner

· Big Data Zone

After my post on "Word frequency using MapReduce in Python," I got my paws dirty with some silly Javascript. Once I reduced a whole chunk of code, it turned out to be a simple one-liner in JavaScript. A linear implementation of MapReduce, but it was fun and indeed will be useful if on node.js.

Enough talking! Below is the one liner that will give the word frequency in JSON format.


String.prototype.map_reduce = function(){return this.toLowerCase().split(/\W+/g).reduce(function (t, w) { if (w) t[w] = (t[w] || 0) + 1; return t; }, {}).toSource()}

The prettier version:

String.prototype.map_reduce = function () {
return this.toLowerCase().
reduce(function (t, w) {
if (w) {
t[w] = (t[w] || 0) + 1;
return t;
}, {}).

Example :

>>> "The quick brown fox jumped over the lazy".map_reduce()

>>> "({the:2, quick:1, brown:1, fox:1, jumped:1, over:1, lazy:1, dog:1})"



Published at DZone with permission of Hemanth Madhavarao , DZone MVB .

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}