0x000f JavaScript sorting array of objects by field value. Сортировка массива объектов по значению поля в JavaScript

При необходимости отсортировать массив объектов по значению поля, можно воспользоваться таким способом:

var clients = [
	{ id: 2,  name: "John Bowel" },
	{ id: 5,  name: "Andrew Golf" },
	{ id: 3,  name: "Adam Bowel" },
	{ id: 4,  name: "Sandy Sommers" },
	{ id: 11, name: "Julian Odenberg" },
	{ id: 8,  name: "Otto Schwarz" },
	{ id: 7,  name: "Alexander McTorrent" },
	{ id: 9,  name: "Salim Virjin" },
];

clients.sort(function(a, b, field) {
	return a.id > b.id
		? 1
		: b.id > a.id
			? -1
			: 0;
});

 

В результате получим отсортированный массив объектов:

 

clients = [
	{ id: 2,  name: "John Bowel" },
	{ id: 3,  name: "Adam Bowel" },
	{ id: 4,  name: "Sandy Sommers" },
	{ id: 5,  name: "Andrew Golf" },
	{ id: 7,  name: "Alexander McTorrent" },
	{ id: 8,  name: "Otto Schwarz" },
	{ id: 9,  name: "Salim Virjin" },
	{ id: 11, name: "Julian Odenberg" },
];

 

Аналогично можно отсортировать не только по числовому значению, но и по текстовому, заменив в примере id на name:

 

var clients = [
	{ id: 3,  name: "Adam Bowel" },
	{ id: 7,  name: "Alexander McTorrent" },
	{ id: 5,  name: "Andrew Golf" },
	{ id: 2,  name: "John Bowel" },
	{ id: 11, name: "Julian Odenberg" },
	{ id: 8,  name: "Otto Schwarz" },
	{ id: 9,  name: "Salim Virjin" },
	{ id: 4,  name: "Sandy Sommers" },
];