Вместо
if (metroArr.length > 0) {
for (var i in metroArr) {
var li = document.createElement('LI');
li.innerHTML = metroArr[i];
list.appendChild(li);
}
}
лучше сделать
for (var i = metroArr.length; i--; ) {
var li = document.createElement('LI');
li.innerHTML = metroArr.splice(i,1);
list.prependChild(li);
}
Правда, непонятно, зачем удалять из массива элементы по одному, когда это можно сделать в конце?