JSFiddle - React, Tailwind, and code Playground
by doug65536
JavaScript
function makeIndex(data, getter) {
var index = data.slice();
index.sort(function(a,b) {
var x = getter(a), y = getter(b);
return x < y ? -1 : x > y ? 1 : 0;
});
return index;
}
var people = [
{ name: 'John', city: 'A', age: 45 },
{ name: 'Mike', city: 'D', age: 23 },
{ name: 'Jack', city: 'V', age: 16 },
{ name: 'Dave', city: 'Q', age: 33 }
];
var body = $('body');
function test(desc, getter)
{
var index = makeIndex(people, getter);
body.append('<h1>' + desc + '</h1>');
for (var i = 0; i < index.length; ++i) {
body.append(index[i].name + ' ' + index[i].city + ' ' + index[i].age + '<br>');
}
}
test("Name", function(o) { return o.name; });
test("City", function(o) { return o.city; });
test("Age", function(o) { return o.age; });