Metoden sort
Metoden sort sorterar en array
i lexikografisk ordning och returnerar den
redan modifierade arrayen. En valfri funktion
för sortering kan anges som parameter.
Syntax
array.sort([funktion]);
Exempel
Låt oss sortera en array:
let arr = ['d', 'b', 'a', 'c'];
console.log(arr.sort());
Resultatet av att köra koden:
['a', 'b', 'c', 'd']
Exempel
Låt oss sortera en array med nummer:
let arr = [4, 1, 7, 2];
console.log(arr.sort());
Resultatet av att köra koden:
[1, 2, 4, 7]
Exempel
Låt oss lägga till fler nummer i arrayen och sortera den:
let arr = [1, 123, 2, 4, 111, 7];
console.log(arr.sort());
I resultatet av att köra koden ser vi att numren inte är placerade i stigande ordning, utan i lexikografisk ordning, d.v.s. numren jämförs med varandra som strängar. Jämförelsen sker tecken för tecken, om koden för det första tecknet är större än koden för det angränsande tecknet, etc. Resultat:
[1, 111, 123, 2, 4, 7]
Exempel
Låt oss nu sortera arrayen
med hjälp av en funktion, där vi specificerar villkoret -
om den första parametern är större än den andra, så flyttar vi den
(för detta, returnera valfritt positivt tal i return).
I det omvända fallet krävs ingen omflyttning och vi anger
0 eller valfritt 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 av att köra koden:
[1, 2, 4, 7, 111, 123]
Exempel
Låt oss för enkelhetens skull förkorta koden i vår funktion från föregående exempel:
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return a - b;
});
console.log(arr);
Resultatet av att köra koden:
[1, 2, 4, 7, 111, 123]
Exempel
Och nu, med hjälp av en funktion, sorterar vi arrayen i fallande ordning:
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return b - a;
});
console.log(arr);
Resultatet av att köra koden:
[123, 111, 7, 4, 2, 1]
Exempel
Låt oss sortera en array med objekt
efter nyckeln 'one' i stigande ordning:
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 av att köra koden:
[
{one: 1, two: 2},
{one: 3, two: 3},
{one: 7, two: 1}
]
Exempel
Och nu låt oss sortera arrayen med objekt
efter nyckeln '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 av att köra koden:
[
{one: 7, two: 1},
{one: 1, two: 2},
{one: 3, two: 3}
]
Exempel
Låt oss kontrollera om arrayen har ändrats efter
tillämpningen av metoden sort:
let arr = ['b', 'a', 'd', 'c'];
let res = arr.sort();
console.log(arr);
Resultatet av att köra koden:
['a', 'b', 'c', 'd']
Se även
-
metoden
filter,
som gör det möjligt att filtrera arrayelement