Необходимо отсортировать массив на нативном 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; });
Вы, скорее всего, знаете.
.sort в любом случае сортирует массив как строку. Если нужно изменить его поведение, то нужно использовать функцию определяющую порядок сортировки.
Подробнее можно посмотреть в любом описании метода sort, а рабочий пример есть ниже.
var inputStr = '235 1 0.9 -5 -98 25 -634.1';
var nArr;
nArr = inputStr.split(' ');
alert(nArr);
nArr.sort(function(a, b) { return a-b; });
alert(nArr);
var inputStr = [5, 2, 1, -10, 8];
function compare(a, b) {
return a - b;
}
inputStr.sort(compare);
console.log(inputStr);
и в обратном порядке:
var inputStr = [5, 2, 1, -10, 8];
function compare(a, b) {
return b - a;
}
inputStr.sort(compare);
console.log(inputStr);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть некая форма, с которой отправляются некие данные, отправляются через функцию $ajax():
Функция, находящая центр фигуры уже естьНо похоже, она работает не правильно
Добрый деньУ меня есть боковое меню и при клике оно должно быть таким