JSFiddle - React, Tailwind, and code Playground
HTML
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.5.2/underscore-min.js"></script>
JavaScript
var arr = [{
key: "a",
value: 42
},
{
key: "d",
value: 28
},
{
key: "c",
value: 92
},
{
key: "b",
value: 87
}];
var order = ["c", "a", "b", "d"];
var orderMap = {};
_.each(order, function(i) { orderMap[i] = _.indexOf(order, i); });
var sorted = _.sortBy(arr, function(obj){
console.log(obj.key);
return orderMap[obj.key];
});
console.log(_.map(sorted, function(i) { return i.key + ": " + i.value; }));