Этот вопрос близко к этому один: Sort array of objects by string property value in JavaScriptСортировка объектов в массиве по значению поля в качестве параметра
Тем не менее, значение поля должно быть выбрано пользователем (сохраненного в параметре sortBy
):
function sortList (sortBy, list) {
return list.sort(function (val1, val2) {
if (val1.sortBy > val2.sortBy) {
return -1;
}
if (val1.sortBy < val2.sortBy) {
return 1;
}
return 0;
});
}
var myObj = [
{a: 1, b: 3},
{a: 3, b: 2},
{a: 2, b: 40},
{a: 4, b: 12}
];
sortList(myObj.a, myObj);
Объект не изменяется.
Второй ответ на связанный вопрос показывает, как это сделать: http://stackoverflow.com/a/4760279/218196 –