Metoden sort
Metoden sort udfører sortering af et array
i leksikografisk rækkefølge og returnerer det allerede
ændrede array. Som en valgfri parameter
kan man angive sin egen funktion til sortering.
Syntaks
array.sort([funktion]);
Eksempel
Lad os sortere et array:
let arr = ['d', 'b', 'a', 'c'];
console.log(arr.sort());
Resultatet af udførelse af koden:
['a', 'b', 'c', 'd']
Eksempel
Lad os sortere et array med tal:
let arr = [4, 1, 7, 2];
console.log(arr.sort());
Resultatet af udførelse af koden:
[1, 2, 4, 7]
Eksempel
Lad os tilføje tal til arrayet og sortere det:
let arr = [1, 123, 2, 4, 111, 7];
console.log(arr.sort());
Som et resultat af udførelse af koden vil vi se, at tallene ikke er placeret i stigende rækkefølge, men i leksikografisk rækkefølge, dvs. tallene sammenlignes med hinanden som strenge. Ved sammenligning tages der hensyn til hvert tegn, om koden for det første tegn er større end koden for det næste osv. Resultatet:
[1, 111, 123, 2, 4, 7]
Eksempel
Lad os nu sortere arrayet
ved hjælp af en funktion, hvor vi angiver betingelsen -
hvis den første parameter er større end den anden, så ombyt dem
(for dette i return angiv et hvilket som helst positivt tal).
I det modsatte tilfælde er ombytning ikke nødvendig, og vi angiver
0 eller et hvilket som helst negativt tal:
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
if (a > b) {
return 1;
} else {
return -1;
}
});
console.log(arr);
Resultatet af udførelse af koden:
[1, 2, 4, 7, 111, 123]
Eksempel
Lad os for nemheds skynd forkorte koden i vores funktion fra det foregående eksempel:
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return a - b;
});
console.log(arr);
Resultatet af udførelse af koden:
[1, 2, 4, 7, 111, 123]
Eksempel
Og lad os nu ved hjælp af en funktion sortere arrayet i faldende rækkefølge:
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return b - a;
});
console.log(arr);
Resultatet af udførelse af koden:
[123, 111, 7, 4, 2, 1]
Eksempel
Lad os sortere et array af objekter
efter nøglen 'one' i stigende rækkefølge:
let arr = [
{one: 1, two: 2},
{one: 7, two: 1},
{one: 3, two: 3}
];
arr.sort(function(a, b) {
return a.one - b.one;
});
console.log(arr);
Resultatet af udførelse af koden:
[
{one: 1, two: 2},
{one: 3, two: 3},
{one: 7, two: 1}
]
Eksempel
Og lad os nu sortere arrayet af objekter
efter nøglen 'two':
let arr = [
{one: 1, two: 2},
{one: 7, two: 1},
{one: 3, two: 3}
];
arr.sort(function(a, b) {
return a.two - b.two;
});
console.log(arr);
Resultatet af udførelse af koden:
[
{one: 7, two: 1},
{one: 1, two: 2},
{one: 3, two: 3}
]
Eksempel
Lad os tjekke om arrayet er ændret efter
anvendelse af metoden sort:
let arr = ['b', 'a', 'd', 'c'];
let res = arr.sort();
console.log(arr);
Resultatet af udførelse af koden:
['a', 'b', 'c', 'd']
Se også
-
metoden
filter,
som gør det muligt at filtrere elementer i et array