Вариант 1. Вывод в порядке ключей на объекте задачи:
Возможно, есть более элегантный способ, но этот способ извлекает все ключи задач из объекта, сортирует их и затем использует упорядоченный индексный массив для циклического обхода исходного объекта в ключевом порядке (если я правильно понял, что вы ' пытаюсь сделать).
var indexArray = [];
var i;
for (i in tasks) {
indexArray.push(i); // collect all indexes
}
indexArray.sort(function(a,b) {return(a-b);}); // sort the array in numeric order
for (i = 0; i < indexArray.length; i++) {
console.log(tasks[indexArray[i]].name);
}
Вы можете использовать tasks.keys в качестве ярлыка для получения индексов объектов, но это не всегда доступно, поэтому вам все равно придется иметь альтернативный способ сделать это.
Вариант 2: Вывод в порядке задач встроенного индекса [i] .index:
Читая ваш вопрос еще раз, я понял, что может быть другой способ интерпретировать ваш вопрос. Возможно, вы имели в виду порядок индексов, где данные .index находятся рядом с .name, а не ключ индекса на объекте задач. Если это так, это потребует другой процедуры:
var sorted = [];
var i;
for (i in tasks) {
sorted.push(tasks[i]); // collect items from tasks into a sortable array
}
sorted.sort(function(a,b) {return(a.index - b.index);}); // sort the array in numeric order by embedded index
for (i = 0; i < sorted.length; i++) {
console.log(sorted[i].name);
}