Сортировка массивов

Рейтинг: 0Ответов: 1Опубликовано: 08.12.2014

Здравствуйте.

Сейчас более детально изучаю javascript. Но возник вопрос по массивам, в частности как сделать так, чтобы массив сортировался после заданного пользователем количества ввода параметров (через prompt). В общем, не совсем понял, как представить массив как переменную, которой можно присвоить prompt и затем отсортировать.

Подскажите, пожалуйста, что здесь исправить, чтобы пользователь вводил 5 чисел, которые публиковались бы отсортированными по убыванию. Что не так? Спасибо.

<script language="javascript"> 
    for (i=0; i<5; i++) {
    array [i] = Number(prompt ("Введите число"));
    var array = [i];
    array.sort(function(a, b) { return b - a; });
    document.write (array + " ");}
</script>

Ответы

▲ 1

Старайтесь не использовать глобальных переменных, если в этом нет необходимости (а она редко бывает). Так же Number не лучший вариант использования, подбробнее тут: https://stackoverflow.com/questions/369220/why-should-you-not-use-number-as-a-constructor

Чтобы использовать массив, его сперва необходимо инициализировать (по понятным причинам вне цикла):

var arr = [];

Сортировку так же необходимо вынести за цикл (зачем вам сортировать массив при каждом пользовательском вводе?)

var arr = [];
for (i=0; i<5; i++) { 
    arr[i] = Number(prompt ("Введите число"));     
}
arr.sort(function(a, b) { 
    return b - a; 
}); 
document.write(arr + " ");

http://jsfiddle.net/00dg2sqa/