
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