Сортировка массива по алфавиту

Beginner

This tutorial is from open-source community. Access the source code

Введение

В этом практическом занятии мы научимся сортировать массив объектов по алфавиту на основе заданного свойства с использованием JavaScript. Мы будем использовать метод Array.prototype.sort() и метод String.prototype.localeCompare() для сравнения значений заданного свойства. Это позволит нам легко сортировать массив в порядке возрастания или убывания в зависимости от наших требований.

Как сортировать массив по алфавиту на основе заданного свойства в JavaScript

Чтобы сортировать массив объектов по алфавиту на основе заданного свойства в JavaScript, следуйте этим шагам:

  1. Откройте Терминал/SSH и введите node, чтобы начать практиковать программирование.
  2. Используйте Array.prototype.sort(), чтобы отсортировать массив на основе заданного свойства.
  3. Используйте String.prototype.localeCompare(), чтобы сравнить значения заданного свойства.

Вот пример кода, который вы можете использовать:

const alphabetical = (arr, getter, order = "asc") =>
  arr.sort(
    order === "desc"
      ? (a, b) => getter(b).localeCompare(getter(a))
      : (a, b) => getter(a).localeCompare(getter(b))
  );

Вы можете вызвать функцию alphabetical с массивом объектов и функцией-генератором, которая возвращает свойство для сортировки. Вот пример использования:

const people = [{ name: "John" }, { name: "Adam" }, { name: "Mary" }];
alphabetical(people, (g) => g.name);
// [ { name: 'Adam' }, { name: 'John' }, { name: 'Mary' } ]
alphabetical(people, (g) => g.name, "desc");
// [ { name: 'Mary' }, { name: 'John' }, { name: 'Adam' } ]

Резюме

Поздравляем! Вы завершили практическое занятие по сортировке массива по алфавиту. Вы можете практиковаться в других лабораторных работах в LabEx, чтобы улучшить свои навыки.