Помогите от сортировать
<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, время: 00:38. |