d3 nested sort

sorting on two dimensions

by RFontana

HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/d3/3.3.3/d3.min.js"></script>

JavaScript

var data = [
    { cat: "A", val:1 },
    { cat: "B", val:2 },
    { cat: "A", val:11 },
    { cat: "B", val:5 },
    { cat: "A", val:3 },
    { cat: "B", val:2 },
    { cat: "A", val:11 },
    { cat: "B", val:100 }
];
function compareValues(a,b){ return a.val - b.val; }
var nested = d3.nest()
    .key(function(d) { return d.cat; })
    .sortKeys(d3.ascending)
    .sortValues(compareValues)
    .entries(data);

var result = nested.reduce(function(a,b){ return a.concat(b.values); },[]);