Ordenar matriz alfabéticamente

JavaScriptJavaScriptBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderemos cómo ordenar alfabéticamente una matriz de objetos basándonos en una propiedad dada utilizando JavaScript. Utilizaremos el método Array.prototype.sort() y el método String.prototype.localeCompare() para comparar los valores de la propiedad dada. Esto nos permitirá ordenar fácilmente la matriz en orden ascendente o descendente, según nuestras necesidades.


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{{"Ordenar matriz alfabéticamente"}} javascript/data_types -.-> lab-28618{{"Ordenar matriz alfabéticamente"}} javascript/arith_ops -.-> lab-28618{{"Ordenar matriz alfabéticamente"}} javascript/comp_ops -.-> lab-28618{{"Ordenar matriz alfabéticamente"}} end

Cómo ordenar alfabéticamente una matriz basada en una propiedad dada en JavaScript

Para ordenar alfabéticamente una matriz de objetos basada en una propiedad dada en JavaScript, siga estos pasos:

  1. Abra la Terminal/SSH y escriba node para comenzar a practicar la codificación.
  2. Utilice Array.prototype.sort() para ordenar la matriz basada en la propiedad dada.
  3. Utilice String.prototype.localeCompare() para comparar los valores de la propiedad dada.

A continuación, se muestra un fragmento de código de ejemplo que puede utilizar:

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

Puede llamar a la función alphabetical con una matriz de objetos y la función getter que devuelve la propiedad por la que se debe ordenar. A continuación, se muestra un ejemplo de uso:

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' } ]

Resumen

¡Felicitaciones! Has completado el laboratorio de Ordenar Matriz Alfabéticamente. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.