JavaScript sort () Метод: объект Array
Описание
Метод sort () используется для сортировки элементов массива.
Версия
Реализовано в JavaScript 1.1
Синтаксис
сортировать (compareFunction)
параметры
compareFunction: функция определяет порядок сортировки. Если он не указан, массив сортируется в словаре, а не в порядке нумерации. Например, «30» предшествует «8», а числовая сортировка 8 - перед 30.
Если предоставлена compareFunction, элементы массива сортируются в соответствии с возвращаемым значением функции сравнения. Если x и y - два сравниваемых элемента, то:
Если compareFunction (x, y) меньше 0, сортируйте индекс y по x с меньшим значением, чем x.
Если compareFunction (x, y) возвращает 0, оставьте x и y неизменными относительно друг друга, но отсортированные по всем различным элементам.
Если compareFunction (x, y) больше 0, сортируйте y по более высокому индексу, чем x.
Пример - 1
В следующем веб-документе метод sort () сортирует различные массивы (строки, числа, смешанные) с функцией сравнения и без нее.
HTML-код
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf8" />
<title>JavaScript sort() method example</title>
<style type="text/css">
h1 {color:red}
</style>
</head>
<body>
<h1>JavaScript : sort() method</h1>
<script src="array-sort-example1.js"></script>
</body>
</html>
Код JS
var stringArray = new Array("79","A","345","Good");
var numberArray = new Array(54,11,3,600);
var mixedArray = new Array("A900","99","67",54,11,3,600);
function compareNumbers(x, y)
{
'use strict';
return x - y;
}
var newParagraph = document.createElement("p");
var newText = document.createTextNode("String Array : " + stringArray);
newParagraph.appendChild(newText);
document.body.appendChild(newParagraph);
var newParagraph1 = document.createElement("p");
var newText1= document.createTextNode("Sorted : " + stringArray.sort());
newParagraph1.appendChild(newText1);
document.body.appendChild(newParagraph1);
var newParagraph2 = document.createElement("p");
var newText2= document.createTextNode("Number Array : " + numberArray.join());
newParagraph2.appendChild(newText2);
document.body.appendChild(newParagraph2);
var newParagraph3 = document.createElement("p");
var newText3 = document.createTextNode("Sorted without a compare function :" + numberArray.sort());
newParagraph3.appendChild(newText3);
document.body.appendChild(newParagraph3);
var newParagraph4 = document.createElement("p");
var newText4 = document.createTextNode("Sorted with compare function : " + numberArray.sort(compareNumbers));
newParagraph4.appendChild(newText4);
document.body.appendChild(newParagraph4);
var newParagraph5 = document.createElement("p");
var newText5 = document.createTextNode("Mixed Array : " + mixedArray);
newParagraph5.appendChild(newText5);
document.body.appendChild(newParagraph5);
var newParagraph = document.createElement("p");
var newText = document.createTextNode("Sorted without a compare function : " + mixedArray.sort() );
newParagraph.appendChild(newText);
document.body.appendChild(newParagraph);
var newParagraph = document.createElement("p");
var newText = document.createTextNode("Sorted with compareNumbers : " + mixedArray.sort(compareNumbers));
newParagraph.appendChild(newText);
document.body.appendChild(newParagraph);
Посмотреть пример в браузере Пример - 2
В следующем веб-документе метод sort () сортирует массив, содержащий числовые числа, в порядке возрастания и убывания с помощью двух функций.
HTML-код
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf8" />
<title>JavaScript sort() method example using numeric value</title>
<style type="text/css">
h1 {color:red}
</style>
</head>
<body>
<h1>JavaScript : sort() method using numeric value</h1>
<hr>
<script src="array-sort-example2.js"></script>
</body>
</html>
Код JS
var numberArray = new Array(54,11,3,600,-100,40,0);
function Ascending(x, y)
{
'use strict';
return x - y;
}
function Descending(x, y)
{
'use strict';
return y - x;
}
var newParagraph = document.createElement("p");
var newText = document.createTextNode("List of the numbers : " + numberArray);
newParagraph.appendChild(newText);
document.body.appendChild(newParagraph);
var newParagraph1 = document.createElement("p");
var newText1 = document.createTextNode("Sorted in Ascending order :" + numberArray.sort(Ascending));
newParagraph1.appendChild(newText1);
document.body.appendChild(newParagraph1);
var newParagraph2 = document.createElement("p");
var newText2 = document.createTextNode("Sorted in Descending order :" + numberArray.sort(Descending));
newParagraph2.appendChild(newText2);
document.body.appendChild(newParagraph2);
Практикуйте пример онлайн
См. Javascript-common-editor Pen от w3resource ( @ w3resource ) в CodePen .
Смотрите также:
Основные объекты JavaScript, методы, свойства.
Предыдущий: JavaScript splice () Метод: Array Object
Далее: метод JavaScript toSource (): объект массива
Новый контент: Composer: менеджер зависимостей для PHP , R программирования