2013-08-05 3 views
1

Мне нужно отсортировать значения miles и price на основе perMile.Сортировка ассоциативных массивов

objs[i] = [ 
    { 
     miles : array[i].value1 
    }, 
    { 
     price: array[i].value2 
    }, 
    { 
     perMile: array[i].value3 
    } 
]; 

Я новичок в JavaScript

+2

Ваша структура данных не имеет смысла. Почему у вас есть массив объектов, где каждый объект имеет другое свойство? Почему не просто один объект? –

ответ

0

Я хотел бы предложить

objs[i] = { 
    miles : array[i].value1, 
    price: array[i].value2, 
    perMile: array[i].value3 
}; 

Затем вы можете отсортировать objs массив со стороны perMile свойств предметов, как это (при условии, что они цифры):

objs.sort(function(a, b) { 
    return a.perMile - b.perMile; 
}); 
+0

спасибо 4 d help! Это сработало. – user1561245

-1

Если вы можете использовать библиотеку в этом примере, uld try Jlinq - http://hugoware.net/Projects/jlinq - Это библиотека, которая позволит вам запрашивать объект Javascript (ассоциативный массив) с использованием методов SQL-esque (SORT, SELECT, FROM и т. д.). Примеры на сайте помогут вам начать работу. Это отличная библиотека, хорошо окутанная и очень легкая.

+0

Отметьте это, но по крайней мере предположите, почему ... JLinq - очень хорошая библиотека. – Charlie

Смежные вопросы