На данный вопрос уже ответили:
Сортировка в JavaScript
1 ответ
Необходимо отсортировать массив на нативном JS. Код:
var inputStr = '235 1 0.9 -5 -98 25 -634.1';
var nArr;
function getConverArray(arr) {
for (var i = 0; i < arr.length; i++) {
arr[i] = +arr[i];
}
return arr;
}
nArr = getConverArray(inputStr.split(' '));
alert(nArr);
nArr.sort();
alert(nArr);
.sort() всё равно сортирует массив как символьный, хотя после функции getConverArray() массив становится числовым. В чём проблема?
Ответ
https://www.w3schools.com/jsref/jsref_sort.asp
By default, the sort() method sorts the values as strings in
alphabetical and ascending order.
По умолчанию, метод sort сортирует значения как строки в алфавитном
порядке, по возрастанию.
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
The default sort order is according to string Unicode code points.
Про
nArr.sort(function(a, b){ return a-b; });
Вы, скорее всего, знаете.
Пример из Проблемма с сортировкой массива
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]));
Комментариев нет:
Отправить комментарий