Metode sort
Die metode sort sorteer 'n skikking
in leksikografiese volgorde en gee die reeds
veranderde skikking terug. 'n Opsionele parameter
is 'n eie funksie vir sortering.
Sintaksis
skikking.sort([funksie]);
Voorbeeld
Kom ons sorteer 'n skikking:
let arr = ['d', 'b', 'a', 'c'];
console.log(arr.sort());
Resultaat van die kode:
['a', 'b', 'c', 'd']
Voorbeeld
Kom ons sorteer 'n skikking met getalle:
let arr = [4, 1, 7, 2];
console.log(arr.sort());
Resultaat van die kode:
[1, 2, 4, 7]
Voorbeeld
Kom ons voeg getalle by in die skikking en sorteer dit:
let arr = [1, 123, 2, 4, 111, 7];
console.log(arr.sort());
As resultaat van die kode sien ons dat die getalle nie in toenemende volgorde is nie, maar in leksikografiese volgorde, m.a.w. getalle word met mekaar vergelyk soos stringe. Die vergelyking gaan per karakter, of die kode van die eerste karakter groter is as die kode van die naburige karakter, ens. Resultaat:
[1, 111, 123, 2, 4, 7]
Voorbeeld
Kom ons sorteer nou die skikking
met 'n funksie, waarin ons die voorwaarde skryf -
as die eerste parameter groter as die tweede is, moet ons dit omruil
(hiervoor, in return, enige positiewe getal).
In die teenoorgestelde geval is omruiling nie nodig nie en ons spesifiseer
0 of enige negatiewe getal:
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
if (a > b) {
return 1;
} else {
return -1;
}
});
console.log(arr);
Resultaat van die kode:
[1, 2, 4, 7, 111, 123]
Voorbeeld
Kom ons verkort die kode in ons funksie uit die vorige voorbeeld vir gemak:
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return a - b;
});
console.log(arr);
Resultaat van die kode:
[1, 2, 4, 7, 111, 123]
Voorbeeld
En nou sorteer ons die skikking in afnemende volgorde met 'n funksie:
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return b - a;
});
console.log(arr);
Resultaat van die kode:
[123, 111, 7, 4, 2, 1]
Voorbeeld
Kom ons sorteer 'n skikking van voorwerpe
volgens die sleutel 'one' in toenemende volgorde:
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);
Resultaat van die kode:
[
{one: 1, two: 2},
{one: 3, two: 3},
{one: 7, two: 1}
]
Voorbeeld
En nou sorteer ons die skikking van voorwerpe
volgens die sleutel '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);
Resultaat van die kode:
[
{one: 7, two: 1},
{one: 1, two: 2},
{one: 3, two: 3}
]
Voorbeeld
Kom ons kyk of die skikking verander het na
die toepassing van die metode sort:
let arr = ['b', 'a', 'd', 'c'];
let res = arr.sort();
console.log(arr);
Resultaat van die kode:
['a', 'b', 'c', 'd']
Sien ook
-
metode
filter,
wat toelaat om elemente van 'n skikking te filter