сортировка массива с сохранением ассоциации индексов
Здравствуйте.
Как в js можно реализовать сортировку массива с сохранением ассоциации индексов. var fruits = []; fruits[0] = 'banana'; fruits[1] = 'apple'; и после сортировки получить такой результат fruits[1] = 'apple'; fruits[0] = 'banana'; |
Порядок элементов в массиве определяется индексами. Исходя из этого, вы спрашиваете чушь.
Предупреждая упоминание for-in: использование for-in для перебора элементов массива противопоказано, т.к. эта конструкция перебирает свойства массива, а не его элементы. Если так сильно нужны изначальные индексы, сохраните их до сортировки. Например ['banana', 'apple'].map(function(fruit, index) { return {index: index, fruit: fruit}; }).sort(function(fruit1, fruit2) { return fruit1.fruit < fruit2.fruit ? -1 : fruit1.fruit > fruit2.fruit ? 1 : 0; }) Метода map у массивов в IE нет, но его можно там добавить. |
Часовой пояс GMT +3, время: 15:58. |