JSFiddle - React, Tailwind, and code Playground
JavaScript
var a = [
{name: "Tom", surname: "TestAsIvanov"},
{name: "Kate", surname: "Ivanova"},
{name: "John", surname: "Alivanov"},
{name: "Ivan", surname: "Ivanov"}
];
var queryString = "a";
console.clear();
console.log("queryString =", queryString);
// Order alphabetically (http://stackoverflow.com/a/8900824/1267304)
a = a.sort(function(a, b) {
var a = a.surname.toUpperCase();
var b = b.surname.toUpperCase();
return (a < b) ? -1 : (a > b) ? 1 : 0;
});
// Order by queryString
a = a.sort(function(a, b) {
var s1 = a.surname.toUpperCase().indexOf(queryString.toUpperCase());
var s2 = b.surname.toUpperCase().indexOf(queryString.toUpperCase());
return (s1 > -1 && s1 > s2);
});
console.log(a);