var obj = [...];
obj.sort(function(a,b){return a.name.localeCompare(b.name); });
Имейте в виду, что это не будет учитывать капитализацию (поэтому упорядочит все имена, начинающиеся с заглавных букв, прежде чем все, начинающиеся с маленьких, т.е. "Z" < "a"
), так что вы можете найти уместным добавить toUpperCase()
там.
Вы также можете сделать его более общим:
function sortFactory(prop) {
return function(a,b){ return a[prop].localeCompare(b[prop]); };
}
obj.sort(sortFactory('name')); // sort by name property
obj.sort(sortFactory('surname')); // sort by surname property
И даже более общим, если передать компаратор на завод ... ... 1009 *