Помогите от сортировать
<script type='text/javascript'> var a = '49 66 70 67 60 41 56 81 12 24 42 30 33 41 25 41 78' var b = a.split(' ').sort().reverse().join(' ').split(' ') for(i = 0;i<17;i++) var c = b[i] var e = i + ')' + c // 17)12 </script> Помогите отсортировать данные числа. Чтобы результат выводился так: 1)10 2)5 3) 3 итп Попробовал сделать так:записываем числа в строку, преобразуем строку в массив, сортируем от большего к меньшему, далее сортируем от меньшего к большему, и опять в массив. После идет цикл, и в нем вся проблема, цикл перебирает все значения, и соответственно выводит последнее значение, но как сделать так, что бы перебрал первый элемент, перенес его в переменную, перебрал 2ой элемент, опять занес? |
Вы перемудрили с массивом. И в цикле у Вас только одно действие происходит - только одна строка, вместо предполагаемых двух. Вот решение:
var a = '49 66 70 67 60 41 56 81 12 24 42 30 33 41 25 41 78'; var b = a.split(' ').sort().reverse(); var mass = []; for( var i = 0;i<17;i++){ var c = b[i]; var e = (i+1) + ') ' + c; mass.push(e); } Пояснение: во многих языках программирования, если после цикла не идут скобки {}, указывающие на тело цикла, то выполняется только следующие одно вырождение: for(...) a = 10; //в цикле b = 20; //не в цикле c = 30; //не в цикле |
Спасибо, но уже нашел другой способ =)
var a = '49 66 70 67 60 41 56 81 12 24 42 30 33 41 25 41 78' var b = a.split(' ').sort().reverse().join(' ').split(' ') for(i=1;i<17;i++) { for(j = 0;j<1;j++) { var c = b[i] var e = i + ')' + c alert(e) } } |
Цитата:
|
Почему не есть хорошо?)
|
Часовой пояс GMT +3, время: 03:48. |