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

JavaScriptJavaScriptBeginner
Практиковаться сейчас

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") subgraph Lab Skills javascript/variables -.-> lab-28618{{"Сортировка массива по алфавиту"}} javascript/data_types -.-> lab-28618{{"Сортировка массива по алфавиту"}} javascript/arith_ops -.-> lab-28618{{"Сортировка массива по алфавиту"}} javascript/comp_ops -.-> lab-28618{{"Сортировка массива по алфавиту"}} end

Как сортировать массив по алфавиту на основе заданного свойства в 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, чтобы улучшить свои навыки.