Проблемма с сортировкой массива [дубликат]

184
14 мая 2018, 01:20

На данный вопрос уже ответили:

  • Сортировка числового массива .sort() [дубликат] 3 ответа

Получается в чём проблемма, у меня почему-то метод .sort() не сортирует последний 6-ти значный массив. В чём может быть проблемма?

function median(data) { 
//    var count = 0; 
    x = data; 
    x.sort(); 
 
 
// 
//    for (var i = 0; i < data.length; i++) { 
//        if (data.length === 5 || data.length === 3) { 
//            data.pop(); 
//            data.shift(); 
//        } else if (data.length === 6 || data.length === 4) { 
//            data.pop(); 
//            data.shift(); 
//        } 
//        if (data.length === 2) { 
//            for (var j = 0; j < data.length; j++) { 
//                count = (data[0] + data[1]); 
//                return count / 2; 
//            } 
//        } 
//    } 
 
 
 
 
 
 
 
 
    return data; 
} 
 
console.log(median([1, 2, 3, 4, 5])); 
console.log(median([3, 1, 2, 5, 3])); 
console.log(median([1, 300, 2, 200, 1])); 
console.log(median([3, 6, 20, 99, 10, 15]));

Answer 1

Сортировка по умолчанию срaвнивает элементы массива как строки. Js смотрит на пару, например, 100, 99 как на "100", "99" - в этом случае "100" меньше, чем "99".

function median(data) { 
  data.sort((a, b) => a - b); 
  return data; 
} 
 
console.log(median([1, 2, 3, 4, 5])); 
console.log(median([3, 1, 2, 5, 3])); 
console.log(median([1, 300, 2, 200, 1])); 
console.log(median([3, 6, 20, 99, 10, 15]));

READ ALSO
&ldquo;Поймать&rdquo; событие touchmove в div javascript

“Поймать” событие touchmove в div javascript

Есть канвас на которой рисуется произвольная линия по движению мыши и зажатию левой кнопки

224
WordPress, таймер обратного отсчета T(-) Countdown

WordPress, таймер обратного отсчета T(-) Countdown

Как в таймере обратного отсчета T(-) Countdown для WordPress можно сделать, чтобы когда обратный отсчет подошел к нулю, то таймер каждый раз автоматически...

209
Получение позиции мышки в canvas

Получение позиции мышки в canvas

Надо получить позицию мышки в canvasКак это правильно сделать?

247