Metoda sort
Metoda sort kryen renditjen e një vargu
në mënyrë leksikografike dhe kthen
vargun e modifikuar. Si parametër opsional
mund të specifikohet një funksion i personalizuar për renditje.
Sintaksa
javascriptvarg.sort([funksioni]);
Shembull
Le të renditim një varg:
javascriptlet arr = ['d', 'b', 'a', 'c'];
console.log(arr.sort());
Rezultati i ekzekutimit të kodit:
javascript['a', 'b', 'c', 'd']
Shembull
Le të renditim një varg me numra:
javascriptlet arr = [4, 1, 7, 2];
console.log(arr.sort());
Rezultati i ekzekutimit të kodit:
javascript[1, 2, 4, 7]
Shembull
Le të shtojmë numra në varg dhe ta renditim atë:
javascriptlet arr = [1, 123, 2, 4, 111, 7];
console.log(arr.sort());
Si rezultat i ekzekutimit të kodit shohim që numrat nuk janë të renditur në rend rritës, por në rend leksikografik, d.m.th. numrat krahasohen midis tyre si vargje. Në këtë rast, krahasimi bëhet për secilin karakter, nëse kodi i karakterit të parë është më i madh se kodi i karakterit fqinj, etj. Rezultati:
javascript[1, 111, 123, 2, 4, 7]
Shembull
Tani le të renditim vargun
duke përdorur një funksion, ku do të përcaktojmë kushtin -
nëse parametri i parë është më i madh se i dyti, atëherë e ndërrojmë atë
(për këtë në return caktojmë çdo numër pozitiv).
Në rastin e kundërt, ndërrimi nuk kërkohet dhe ne caktojmë
0 ose çdo numër negativ:
javascriptlet arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
if (a > b) {
return 1;
} else {
return -1;
}
});
console.log(arr);
Rezultati i ekzekutimit të kodit:
javascript[1, 2, 4, 7, 111, 123]
Shembull
Le ta shkurtojmë kodin për lehtësi në funksionin tonë nga shembulli i mëparshëm:
javascriptlet arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return a - b;
});
console.log(arr);
Rezultati i ekzekutimit të kodit:
javascript[1, 2, 4, 7, 111, 123]
Shembull
Dhe tani me ndihmën e funksionit le ta renditim vargun në rend zbritës:
javascriptlet arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return b - a;
});
console.log(arr);
Rezultati i ekzekutimit të kodit:
javascript[123, 111, 7, 4, 2, 1]
Shembull
Le të renditim një varg objektesh
sipas çelësit 'one' në rend rritës:
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);
Rezultati i ekzekutimit të kodit:
javascript[
{one: 1, two: 2},
{one: 3, two: 3},
{one: 7, two: 1}
]
Shembull
Dhe tani le të renditim vargun e objekteve
sipas çelësit '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);
Rezultati i ekzekutimit të kodit:
javascript[
{one: 7, two: 1},
{one: 1, two: 2},
{one: 3, two: 3}
]
Shembull
Le të kontrollojmë nëse vargu ka ndryshuar pas
aplikimit të metodës sort:
javascriptlet arr = ['b', 'a', 'd', 'c'];
let res = arr.sort();
console.log(arr);
Rezultati i ekzekutimit të kodit:
javascript['a', 'b', 'c', 'd']
Shihni gjithashtu
-
metoda
filter,
e cila lejon filtrimin e elementeve të vargut