Пусть вас не вводит в заблуждение название статьи – в JavaScript нет ассоциативных массивов. Однако есть нечто подобное. С этой целью используются объекты, которые записываются в виде “ключ” – “значение”. Например так:
var data = {
"d" : "last entry",
"a" : "first entry",
"b" : "second entry",
"c" : "third entry"
}
Чтобы отсортировать такой объект по его ключам, можно использовать следующие функции (аналоги функций ksort и krsort в PHP):
function ksort(w) {
var sArr = [], tArr = [], n = 0;
for (i in w){
tArr[n++] = i;
}
tArr = tArr.sort();
for (var i=0, n = tArr.length; i a)});
for (var i=0, n = tArr.length; i
Функция ksort сортирует массив (объект) в порядке возрастания, а krsort - в порядке убывания. Пример применения функций:
window.onload = function(){
var data = {
"d" : "last entry",
"a" : "first entry",
"b" : "second entry",
"c" : "third entry"
}
data = ksort(data);
for (var i in data) {
document.write(i + ':' + data[i] + '
');
}
// порядок ключей в массиве: a,b,c,d
data = krsort(data);
for (var i in data) {
document.write(i + ':' + data[i] + '
');
}
// порядок ключей в массиве: d,c,b,a
}
