JavaScript: Jak posortować tablicę obiektów po danej właściwości?

Opublikowano: 07.07.2022 - tagi: JavaScript Tablica Obiekt Sortowanie

Mamy taką tablicę:

const data = [
  { 
    name: 'Janusz',
    age: 69,
  },
  {
    name: 'Zuzanna',
    age: 7 
  }
  {
    name: 'Anna',
    age: 25 
  },
  {
    name: 'Bartosz',
    age: 18
  }
];

I chcemy posortować dane alfabetycznie po właściwości name.

Rozwiązanie:

const sortByName = (item1, item2) => {
  if (item1.name < item2.name) {
    return -1;
  }

  if (item1.name > item2.name) {
    return 1;
  }

  return 0;
}

data.sort(sortByName);

Posortuje:

[
  {
    "name": "Anna",
    "age": 25
  },
  {
    "name": "Bartosz",
    "age": 18
  },
  {
    "name": "Janusz",
    "age": 69
  },
  {
    "name": "Zuzanna",
    "age": 7
  }
]