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
javascriptskikking.sort([funksie]);
Voorbeeld
Kom ons sorteer 'n skikking:
javascriptlet arr = ['d', 'b', 'a', 'c'];
console.log(arr.sort());
Resultaat van die kode:
javascript['a', 'b', 'c', 'd']
Voorbeeld
Kom ons sorteer 'n skikking met getalle:
javascriptlet arr = [4, 1, 7, 2];
console.log(arr.sort());
Resultaat van die kode:
javascript[1, 2, 4, 7]
Voorbeeld
Kom ons voeg getalle by in die skikking en sorteer dit:
javascriptlet 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:
javascript[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:
javascriptlet 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:
javascript[1, 2, 4, 7, 111, 123]
Voorbeeld
Kom ons verkort die kode in ons funksie uit die vorige voorbeeld vir gemak:
javascriptlet arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return a - b;
});
console.log(arr);
Resultaat van die kode:
javascript[1, 2, 4, 7, 111, 123]
Voorbeeld
En nou sorteer ons die skikking in afnemende volgorde met 'n funksie:
javascriptlet arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return b - a;
});
console.log(arr);
Resultaat van die kode:
javascript[123, 111, 7, 4, 2, 1]
Voorbeeld
Kom ons sorteer 'n skikking van voorwerpe
volgens die sleutel 'one' in toenemende volgorde:
javascriptlet 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:
javascript[
{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':
javascriptlet 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:
javascript[
{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:
javascriptlet arr = ['b', 'a', 'd', 'c'];
let res = arr.sort();
console.log(arr);
Resultaat van die kode:
javascript['a', 'b', 'c', 'd']
Sien ook
-
metode
filter,
wat toelaat om elemente van 'n skikking te filter