У меня есть набор результатов для объекта. Она имеет НИЖЕ записейКак сортировать массив на основе значения объекта в JavaScript?
var resultset = [{0: "A", 1: "25.14", 2: "0,0,0,0,30.79,0,7.68,0,0,6.13,0,0"},
{0: "B", 1: "3.26", 2: "0,0,0,31,0,0,0,0,0,0,0,0"},
{0: "C", 1: "37.01", 2: "0,0,0,0,0,0,0,0,0,0,0,0"},
{0: "D", 1: "1.18", 2: "0,0,0,9.63,0,0,0,0,0,0,0,0"},
{0: "E", 1: "0.28", 2: "0,0,0,13.22,0,0,0,0,0,0,0,0"}]
Я использовал для сортировки этого объекта на основе значения, т.е. индекс 1, используя ниже код,
resultset.sort(compareSecondColumn);
function compareSecondColumn(a, b) {
//alert("A Value -->"+a[1]);
//alert("B Value -->"+b[1]);
if (a[1] == b[1]) {
return 0;
}
else {
//alert(b[1]);
return (a[1] > b[1]) ? -1 : 1;
}
}
Но я не в состоянии сортировать на основе индекса 1.
Мой ожидаемый результат как ниже сортируются на основе индекса 1 (37,01)
{0: "C", 1: "37.01", 2: "0,0,0,0,0,0,0,0,0,0,0,0"}
{0: "A", 1: "25.14", 2: "0,0,0,0,30.79,0,7.68,0,0,6.13,0,0"}
{0: "B", 1: "3.26", 2: "0,0,0,31,0,0,0,0,0,0,0,0"}
{0: "D", 1: "1.18", 2: "0,0,0,9.63,0,0,0,0,0,0,0,0"}
{0: "E", 1: "0.28", 2: "0,0,0,13.22,0,0,0,0,0,0,0,0"}
Я пытался сделать какой-то объект механизм сортировки ниже URL. Но я не буду работать.
http://www.javascriptkit.com/javatutors/arraysort2.shtml
Sorting JavaScript Object by property value
@Tushar Включено мой ожидаемый результат, вы можете получить на мой вопрос? – Dhinakar
Учитывая, что поле, которое вы сортируете, представляет собой строку, заканчивающуюся символом%, ваша функция сортировки должна преобразовывать значения в числа для числовой сортировки. Используйте parseFloat(), он автоматически игнорирует%. – nnnnnn
@nnnnnn Я могу преобразовать это в число. Это не проблема. даже я меняю, я не могу этого сделать. это моя проблема. :( – Dhinakar