JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://raw.github.com/square/crossfilter/master/crossfilter.min.js"></script>
<div id="out"></div>
CSS
p {
padding: 1em;
border-bottom: 1px solid #ccc;
}
JavaScript
var cf =[
{ 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 }
];
var combos = cf.sort(function(a,b) {
if(a.cat == b.cat) return a.val < b.val ? -1 : 1;
return a.cat < b.cat ? -1 : 1;
});
$('#out').html(JSON.stringify(combos));