У меня есть массив индексов, называемый indexSelected. Существует также массив объектов, называемых погодой. Я поместил все имена сайтов, с которыми я столкнулся, в массив под названием stationName. Я хочу сортировать этот массив в алфавитном порядке, сохраняя исходные индексы для этого, я могу ссылаться на другие свойства, связанные с объектом. Я попробовал метод ниже, однако, я не могу заставить его работать.Сортировка массива, но сохранение исходного индекса
var stationName=[];
for (var i=0; i<indexSelected.length; i++) {
stationName.push(weather[indexSelected[i]]["Site Name"]);
}
var copyStationName = stationName.slice(0)
var sortedStationName = stationName.sort();
var originalIndex=[];
for (var i=0; i<stationName.length; i++) {
originalIndex.push(copyStationName.indexOf(sortedStationName[i]))
}
var station=[];
for (var i=0; i<indexSelected.length; i++) {
station.push(weather[originalIndex[i]]["Site Name"]);
}
Этот массив станций должен был проверить правильность массива originalIndexes. Это не так, и я не знаю почему. Я был бы признателен за некоторую помощь или другой способ сортировки этого массива. Я ищу, чтобы положить все данные в таблицу, сортировать по алфавиту по названию сайта. Спасибо
обеспечивает демонстрацию в jsfiddle.net, намного легче устранить, когда данные видны и может использовать консоль браузера для отладки – charlietfl
Это звучит как 'asort()' в PHP. Здесь есть версия JS [здесь] (http://phpjs.org/functions/asort/). – h2ooooooo