Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Минимальные элементы из массива (https://javascript.ru/forum/misc/71044-minimalnye-ehlementy-iz-massiva.html)

Echo 21.10.2017 19:43

Минимальные элементы из массива
 
Подскажите пожалуйста, что не так. Должно выводить массив из 4 минимальных элементов, а вывод массив из одного значения, повторяющегося 4 раза.
array_num - изначальный массив
array_total - конечный массив

var array_total = [], index, min = 9999999999;;
                    while (array_total.length < 4) {
                      for (var i = 0; i < array_num.length; i++) {
                          if (min > array_num[i]) 
                                {
                                    min = array_num[i];
                                    index = i;

                                }
                        }
                        array_total.push(min);
                        delete array_num[index];
                    }
                 alert(array_total);

ruslan_mart 22.10.2017 00:48

var array_total = array_num.sort(function(a, b) {
   return +a > +b;
}).splice(0, 5);


//ES6
let array_total = array_num.sort((a, b) => +a > +b).splice(0, 5);

Echo 22.10.2017 16:26

Спасибо за ваш способ.
Но было интересно понять почему тот способ не работает. Вообщем то было достаточно внести переменную min в while.


Часовой пояс GMT +3, время: 14:37.