#javascript
#javascript
Вопрос:
В массиве T у нас есть значения [b,a,d,c]
. Как изменить порядок этого массива в одном цикле в aim, чтобы получить [a,b,c,d]
?
Комментарии:
1.
[]
это массив,{}
скорее обозначающий объект.2. поиск в SO с использованием «javascript array sort» выдает 3,067 результатов. Разве эти результаты не появлялись при вводе вашего вопроса?
3. Kooilnc: Может быть, он спрашивает об алгоритме сортировки O (n), а не о встроенной функции для этого? По крайней мере, такое ощущение у меня возникает, когда я читаю вопрос
4. @Soufiane Hassou: оказывается, его вопрос имел в виду что-то совсем другое, насколько я понимаю.
Ответ №1:
вы можете использовать .sort()
метод, подобный:
var T = new Array('a', 'd', 'c', 'b');
T.sort();
Я не совсем понимаю, что вы подразумеваете под «переупорядочением» (возможно, сортировка в каком-то случайном порядке 🙂
однако вы всегда можете использовать for
, например:
// create new array
var U = new Array();
for (i=0; i<T.length; i ) {
// some desired condition
if (T[i] <= 1) {
// put the value ( T[i] ) on the desired position
desired_position = ???
U[desired_position] = T[i];
}
else {
// otherwise put it at the end of the array
U.push(T[i]);
}
}
// and here you have the "reordered" array
alert('the array U is reordered !!');
Комментарии:
1. Спасибо.. но я не прошу сортировки.. я просто хочу изменить порядок элементов, например: {e, t, m, a} на {t, e, a, m}
2. @suba: чем я предлагаю вам изменить свой вопрос на: Как мне отсортировать массив в определенном предопределенном порядке [в Javascript]? (и объединить это с te, который позже задал тот же вопрос SO)
3. @suba какими должны быть критерии упорядочения? Как функция должна упорядочивать массив, если он выглядит следующим образом
['h','e','l','l','o'];
4. @suba: Если вы спрашиваете не о сортировке, что означает ваш вопрос? Кстати, функция sort() принимает в качестве параметра ссылку на функцию, которая обрабатывает сравнение между двумя элементами массива, поэтому вы можете реализовать любой порядок, который вы можете представить алгоритмически: javascriptkit.com/javatutors/arraysort.shtml