690
 

Сортировка числовых массивов

В JavaScript есть функция sort(), которая может сортировать массивы, однако по умолчанию, она сортирует по алфавиту, даже в том случае, если в массиве нахоятся числа. То есть, массив вида [200,25,100,2,1,15] будет отсортирован в виде [1,15,100,2,25,200], при том, что правильной сортировкой был бы вариант [1,2,15,25,100,200].

Чтобы правильно выполнить сортировку числового массива, в функцию sort() нужно передать callback функцию:

var a = [1,15,100,2,25,200];
var b = a.sort(function (a,b) { return a-b; });

Чтобы постоянно не вписывать в функцию sort() эту анонимную функцию, можно дополнить объект Array новой функцией sortNum:

Array.prototype.sortNum = function() {
   return this.sort( function (a,b) { return a-b; } );
}

var a = [1,15,100,2,25,200];
var b = a.sortNum();
Добавить в закладки:
Maklay.com - Большой каталог товаров для спорта и активного отдыха

Оставить комментарий

JSToolbox создан на основе WordPress