Metoden sort
Metoden sort sorterer en array
i leksikografisk rekkefølge og returnerer den allerede
endrede arrayen. En valgfri parameter
kan brukes til å angi en egen funksjon for sortering.
Syntaks
array.sort([funksjon]);
Eksempel
La oss sortere en array:
let arr = ['d', 'b', 'a', 'c'];
console.log(arr.sort());
Resultat av kjøring av koden:
['a', 'b', 'c', 'd']
Eksempel
La oss sortere en array med tall:
let arr = [4, 1, 7, 2];
console.log(arr.sort());
Resultat av kjøring av koden:
[1, 2, 4, 7]
Eksempel
La oss legge til tall i arrayen og sortere den:
let arr = [1, 123, 2, 4, 111, 7];
console.log(arr.sort());
Som et resultat av kjøring av koden vil vi se at tallene ikke er plassert i stigende rekkefølge, men i leksikografisk rekkefølge, dvs. tall sammenlignes med hverandre som strenger. Samtidig sammenlignes hvert tegn, om koden til det første tegnet er større enn koden til det nærliggende tegnet, osv. Resultat:
[1, 111, 123, 2, 4, 7]
Eksempel
La oss nå sortere arrayen
ved hjelp av en funksjon, der vi spesifiserer betingelsen -
hvis den første parameteren er større enn den andre, så bytter vi dem
(for dette i return, angi et hvilket som helst positivt tall).
I det motsatte tilfellet er bytting ikke nødvendig og vi angir
0 eller et hvilket som helst negativt tall:
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
if (a > b) {
return 1;
} else {
return -1;
}
});
console.log(arr);
Resultat av kjøring av koden:
[1, 2, 4, 7, 111, 123]
Eksempel
La oss forkorte koden i funksjonen vår fra forrige eksempel for enkelthets skyld:
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return a - b;
});
console.log(arr);
Resultat av kjøring av koden:
[1, 2, 4, 7, 111, 123]
Eksempel
Og la oss nå sortere arrayen i synkende rekkefølge ved hjelp av en funksjon:
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return b - a;
});
console.log(arr);
Resultat av kjøring av koden:
[123, 111, 7, 4, 2, 1]
Eksempel
La oss sortere en array med objekter
etter nøkkelen 'one' i stigende rekkefø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);
Resultat av kjøring av koden:
[
{one: 1, two: 2},
{one: 3, two: 3},
{one: 7, two: 1}
]
Eksempel
Og la oss nå sortere arrayen med objekter
etter nøkkelen '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);
Resultat av kjøring av koden:
[
{one: 7, two: 1},
{one: 1, two: 2},
{one: 3, two: 3}
]
Eksempel
La oss sjekke om arrayen er endret etter
bruk av metoden sort:
let arr = ['b', 'a', 'd', 'c'];
let res = arr.sort();
console.log(arr);
Resultat av kjøring av koden:
['a', 'b', 'c', 'd']
Se også
-
metoden
filter,
som lar deg filtrere elementer i en array