Como organizar un array por Alfabeto y Numero en Javascript

Organizar por nombre

Aca le muestro un ejemplo de codigo que hay un array donde esta los nombres y edades primero organizo por nombre donde se organiza de A a Z (Ascendente) y Luego Z a A (Descendente).

// un ejemplo de array
      const data = [
        {
          name:"John Doe",
          age: '24'
        },
        {
          name:"John Smith",
          age: '25'
        },
        {
          name:"Ana Smith",
          age: '23'
        },
        {
          name:"Malena Morgan",
          age: '22'
        }
        ,
        {
          name:"Zoe Morgan",
          age: '18'
        }
      ];

      // Ordernar alfabeto de A a Z (Ascedente)
      const newData = data.sort(function (a, b) {
        if (a.name < b.name) {
          return -1;
        }
        if (a.name > b.name) {
          return 1;
        }
        // a must be equal to b
        return 0;
      });

      console.log("Ordernar por nombre");
      console.log("Resultados:")
      newData.map((item)=>{
        console.log("- "+item.age+" "+item.name);
      });
 
      // Resultados:
      // 23 Ana Smith
      // 24 John Doe
      // 25 John Smith
      // 22 Malena Morgan
      // 18 Zoe Morgan


      // Ordernar alfabeto de Z a D (Descendente)
      const newData = data.sort(function (a, b) {
        if (a.name > b.name) {
          return -1;
        }
        if (a.name < b.name) {
          return 1;
        }
        // a must be equal to b
        return 0;
      });
 
      // Resultados:
      // 18 Zoe Morgan
      // 22 Malena Morgan
      // 25 John Smith
      // 24 John Doe
      // 23 Ana Smith

Organizar por Numero

Otro un ejemplo de codigo que hay un array donde esta los edades que organiza por numeros de Mayor a Menor y viceverza.

// un ejemplo de array
      const data = [
        {
          name:"John Doe",
          age: '24'
        },
        {
          name:"John Smith",
          age: '25'
        },
        {
          name:"Ana Smith",
          age: '23'
        },
        {
          name:"Malena Morgan",
          age: '22'
        }
        ,
        {
          name:"Zoe Morgan",
          age: '18'
        }
      ];

      // Ordernar edad de mayor a menor (Ascedente)
      const newData = data.sort(function (a, b) {
        if (a.age > b.age) {
          return -1;
        }
        if (a.age < b.age) {
          return 1;
        }
        // a must be equal to b
        return 0;
      });

      console.log("Ordernar por nombre");
      console.log("Resultados:")
      newData.map((item)=>{
        console.log("- "+item.age+" "+item.name);
      });
  
      // Resultados:
      // 25 John Smith
      // 24 John Doe
      // 23 Ana Smith
      // 22 Malena Morgan
      // 18 Zoe Morgan

      // Ordernar edad de menor a mayor (Descendente)
      const newData = data.sort(function (a, b) {
        if (a.age < b.age) {
          return -1;
        }
        if (a.age > b.age) {
          return 1;
        }
        // a must be equal to b
        return 0;
      });

      // Resultados:
      // 18 Zoe Morgan
      // 22 Malena Morgan
      // 23 Ana Smith
      // 24 John Doe
      // 25 John Smith

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *