JavaScript: Sortiranje niza objekata prema vrijednosti svojstva

JavaScript

Sortiranje JavaScript objekata prema svojstvu niza

Razvrstavanje nizova objekata uobičajen je zadatak u JavaScriptu, osobito kada se radi s podacima koji se moraju prikazati određenim redoslijedom. Jedan tipičan scenarij uključuje sortiranje niza objekata prema vrijednosti svojstva niza, kao što je prezime ili naslov.

U ovom ćemo članku istražiti kako sortirati niz JavaScript objekata prema vrijednosti svojstva niza. Ispitat ćemo upotrebu metode `sort()` i raspravljati o tome jesu li potrebni dodatni koraci, poput dodavanja metode `toString()` objektima.

Naredba Opis
sort(function(a, b) {...}) Definira prilagođenu funkciju sortiranja za određivanje redoslijeda elemenata niza na temelju određenih kriterija.
localeCompare() Uspoređuje dva niza u trenutnom lokalitetu, vraćajući broj koji pokazuje dolazi li referentni niz prije ili poslije ili je isti kao dati niz.
console.log() Izlaz informacija na konzolu, obično u svrhu otklanjanja pogrešaka.

Detaljno objašnjenje JavaScript sortiranja objekata

Gore navedene skripte dizajnirane su za sortiranje niza JavaScript objekata prema vrijednosti svojstva niza pozvanih . U prvom primjeru koristimo metoda, koja nam omogućuje definiranje prilagođene funkcije sortiranja. Ova funkcija uspoređuje svojstvo svakog objekta. Ako je prvi objekt last_nom manji je od drugog objekta , vraća -1, označavajući da bi prvi objekt trebao doći prije drugog. Ako je prvi objekt veći, vraća 1, što znači da prvi objekt treba doći nakon drugog. Ako su jednaki, vraća 0, što znači da njihovi položaji trebaju ostati nepromijenjeni.

Druga skripta koristi sažetiju ES6 sintaksu. The metoda se koristi unutar funkcija za usporedbu svojstva objekata. Ova metoda vraća broj koji označava nalazi li se niz ispred, iza ili je isti kao drugi niz u trenutnoj lokalnoj postavci. The console.log() funkcija se koristi u obje skripte za izlaz sortiranog niza na konzolu radi provjere. Obje metode učinkovito sortiraju niz objekata prema svojstvo, pokazujući kako rukovati sortiranjem svojstava objekta u JavaScriptu.

Sortiranje niza objekata prema svojstvu niza u JavaScriptu

JavaScript na strani klijenta

var objs = [
    {first_nom: 'Laszlo', last_nom: 'Jamf'},
    {first_nom: 'Pig', last_nom: 'Bodine'},
    {first_nom: 'Pirate', last_nom: 'Prentice'}
];

objs.sort(function(a, b) {
    if (a.last_nom < b.last_nom) {
        return -1;
    }
    if (a.last_nom > b.last_nom) {
        return 1;
    }
    return 0;
});

console.log(objs);

Sortiranje niza objekata prema svojstvu niza pomoću ES6 sintakse

ES6 JavaScript

const objs = [
    {first_nom: 'Laszlo', last_nom: 'Jamf'},
    {first_nom: 'Pig', last_nom: 'Bodine'},
    {first_nom: 'Pirate', last_nom: 'Prentice'}
];

objs.sort((a, b) => a.last_nom.localeCompare(b.last_nom));

console.log(objs);

Sortiranje niza objekata prema svojstvu niza u JavaScriptu

JavaScript na strani klijenta

var objs = [
    {first_nom: 'Laszlo', last_nom: 'Jamf'},
    {first_nom: 'Pig', last_nom: 'Bodine'},
    {first_nom: 'Pirate', last_nom: 'Prentice'}
];

objs.sort(function(a, b) {
    if (a.last_nom < b.last_nom) {
        return -1;
    }
    if (a.last_nom > b.last_nom) {
        return 1;
    }
    return 0;
});

console.log(objs);

Sortiranje niza objekata prema svojstvu niza pomoću ES6 sintakse

ES6 JavaScript

const objs = [
    {first_nom: 'Laszlo', last_nom: 'Jamf'},
    {first_nom: 'Pig', last_nom: 'Bodine'},
    {first_nom: 'Pirate', last_nom: 'Prentice'}
];

objs.sort((a, b) => a.last_nom.localeCompare(b.last_nom));

console.log(objs);

Napredne tehnike za sortiranje objekata u JavaScriptu

Prilikom sortiranja niza objekata prema svojstvu niza u JavaScriptu, bitno je razumjeti zamršenost metoda. Prema zadanim postavkama, metoda sortira elemente kao nizove. To može dovesti do neočekivanih rezultata pri radu s brojevima ili posebnim znakovima. Kako biste osigurali točno sortiranje, posebno sa svojstvima niza, trebali biste koristiti prilagođenu funkciju usporedbe. Osim toga , još jedna korisna tehnika je rukovanje osjetljivošću na velika i mala slova. JavaScriptova usporedba nizova prema zadanim je postavkama osjetljiva na velika i mala slova, pa će se 'a' smatrati manjim od 'A'. Da biste to izbjegli, možete pretvoriti sve nizove u mala ili velika slova unutar funkcije usporedbe.

Još jedan važan aspekt koji treba uzeti u obzir je sortiranje prema više svojstava. Na primjer, ako dva objekta imaju isti vrijednosti, možda ćete ih htjeti dalje sortirati po . To se može postići proširenjem prilagođene funkcije usporedbe za uključivanje dodatnih uvjeta. Takvo sortiranje na više razina osigurava da su podaci sveobuhvatno poredani, dajući smislenije rezultate. Razumijevanjem i primjenom ovih naprednih tehnika sortiranja, možete učinkovito rješavati složenije scenarije sortiranja podataka u JavaScriptu.

  1. Kako sortirati niz objekata prema svojstvu niza?
  2. Koristiti metoda s prilagođenom funkcijom usporedbe, koristeći za usporedbu nizova.
  3. Je li JavaScript sortiranje osjetljiv na velika i mala slova?
  4. Da, prema zadanim postavkama. Pretvorite nizove u mala ili velika slova unutar funkcije usporedbe kako biste to izbjegli.
  5. Kako rješavate sortiranje prema više svojstava?
  6. Proširite prilagođenu funkciju usporedbe kako biste uključili dodatne uvjete za sortiranje po sekundarnim svojstvima.
  7. Trebate li dodati a način na svoje objekte za sortiranje?
  8. Ne, dovoljna je upotreba prilagođene funkcije usporedbe.
  9. Što znači čini?
  10. Uspoređuje dva niza u trenutnom jeziku i vraća broj koji označava njihov redoslijed.
  11. Možete li sortirati objekte prema numeričkim svojstvima koristeći istu metodu?
  12. Da, možete prilagoditi funkciju usporedbe za obradu i numeričkih usporedbi.
  13. Kako ispisujete sortirani niz?
  14. Koristiti za ispis sortiranog niza na konzolu radi provjere.
  15. Kakvo je značenje povratnih vrijednosti u funkciji usporedbe?
  16. Oni određuju redoslijed elemenata: -1 za manje od, 1 za veće i 0 za jednako.

Sortiranje niza objekata prema svojstvu niza u JavaScriptu može se učinkovito postići korištenjem metoda s prilagođenom funkcijom usporedbe. Iskorištavanjem i rukovanje osjetljivošću na velika i mala slova, možete osigurati točno i smisleno sortiranje podataka. Razumijevanje ovih tehnika omogućuje bolju manipulaciju i prezentaciju podataka, s lakoćom zadovoljavajući složenije scenarije. Osim toga, sortiranje prema višestrukim svojstvima dodaje još jedan sloj sofisticiranosti, čineći sortirani izlaz relevantnijim i organiziranijim.