Вы можете использовать Array#sort
для этого:
myArray.sort(function(a, b) {
return a[1] - b[1];
});
... если предположить, что [1]
записи в подмассивов фактически являются числами.
См. Пример в прямом эфире ниже.
Примечание стороны # 1: Обратите внимание, что индексы массива начинаются с 0
, так что ваш массив цит имеет undefined
(а не к югу от массива) в первой позиции. Вы хотите исправить это, прежде чем делать это, возможно, выполнив следующее.
Примечание стороны # 2: В JavaScript нет почти никогда никаких оснований писать new Array()
. Вместо этого просто используйте литерал массива: []
. Например, ваш котировочный код может быть:
var myArray = [
[],
[],
[],
[],
[]
];
... если вы исправите ошибку, указанную выше.
Live Example | Live Source:
// [0] is the id, [1] is the price
var myArray = [
[1, 14.95],
[2, 7.50],
[3, 8.99],
[4, 12.25],
[5, 13.72]
];
myArray.sort(function(a, b) {
return a[1] - b[1];
});
var index, entry;
for (index = 0; index < myArray.length; ++index) {
entry = myArray[index];
console.log(index + ": " + entry[0] + " - " + entry[1]);
}
Выход:
0: 2 - 7.5
1: 3 - 8.99
2: 4 - 12.25
3: 5 - 13.72
4: 1 - 14.95
http://stackoverflow.com/questions/979256/sorting-an-array-of-javascript-objects?rq=1 – Alex
@Alex, что ISN То же самое – musefan
@musefan: Это очень * почти то же самое, что и массивы. Но, вероятно, не * точный * дубликат. –