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);