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);