JSFiddle - React, Tailwind, and code Playground
by bjelline
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<textarea id="output"></textarea>
CSS
textarea { width: 100%; height: 500px; }
JavaScript
out = document.getElementById("output");
out.innerHTML = "Input:\n";
data = [
{name: "tyler", categories: ["friends", "neighbor"]},
{name: "joe", categories: ["friends"]}
];
out.innerHTML += JSON.stringify(data) + "\n\nOutput:\n";
result = _.reduce( data, function( counter, o ) {
_.each( o.categories, function(c){
counter[c] = 1 + _.result(counter, c, 0);
});
return counter;
}, {});
out.innerHTML += JSON.stringify(result);