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