Métodos de clasificación en JavaScript

En este artículo, vamos a aprender sobre algunos de los métodos de clasificación en JavaScript .

Hay toneladas de algoritmos de ordenación disponibles, como la ordenación de burbuja, tipo de combinación, la ordenación por inserción, etc. Debe haber implementado algunos de estos en otros lenguajes de programación como C o C ++. Pero en este artículo, voy a ser la demostración de los métodos de clasificación incorporado en JavaScript .

Esta es la forma diferente de algoritmos de clasificación habituales usted debe haber visto.

código JavaScript:

<html>
<head><title>COLA PRODUCTS.!!!</title></head>
<body>
<script>
document.write("<br>");
var products = [
{ name: "Grapefruit", calories: 170, color: "red", sold: 8200 },
{ name: "Orange", calories: 160, color: "orange", sold: 12101 },
{ name: "Cola", calories: 210, color: "caramel", sold: 25412 },
{ name: "Diet Cola", calories: 0, color: "caramel", sold: 43922 },
{ name: "Lemon", calories: 200, color: "clear", sold: 14983 },
{ name: "Raspberry", calories: 180, color: "pink", sold: 9427 },
{ name: "Root Beer", calories: 200, color: "caramel", sold: 9909 },
{ name: "Water", calories: 0, color: "clear", sold: 62123 }
];
function compareSold(colaA, colaB) {
if (colaA.sold > colaB.sold) {
return 1;
} else if (colaA.sold === colaB.sold) {
return 0;
} else {
return -1;
}
}
function compareName(colaA, colaB) {
if (colaA.name > colaB.name) {
return 1;
} else if (colaA.name === colaB.name) {
return 0;
} else {
return -1;
}
}
function compareCalories(colaA, colaB) {
if (colaA.calories > colaB.calories) {
return 1;
} else if (colaA.calories === colaB.calories) {
return 0;
} else {
return -1;
}
}
function compareColor(colaA, colaB) {
if (colaA.color > colaB.color) {
return 1;
} else if (colaA.color === colaB.color) {
return 0;
} else {
return -1;
}
}
function printProducts(products) {
for (var i = 0; i < products.length; i++) {
document.write(" Name: " + products[i].name + " "+
" Calories: " + products[i].calories +" "+
" Color: " + products[i].color + " "+
" Sold: " + products[i].sold);
document.write("<br>");
}
document.write("<br>");
}
products.sort(compareSold);
document.writeln("Products sorted by number of bottles sold:");
document.write("<br>");
printProducts(products);
products.sort(compareName);
document.write("Products sorted by name:");
document.write("<br>");
document.writeln();
printProducts(products);
products.sort(compareCalories);
document.write("Products sorted by calories:");
document.write("<br>");
printProducts(products);
products.sort(compareColor);
document.write("Products sorted by color:");
document.write("<br>");
printProducts(products);
</script>
</body>
</html>

salida

Products sorted by number of bottles sold: 
Name: Grapefruit Calories: 170 Color: red Sold: 8200
Name: Raspberry Calories: 180 Color: pink Sold: 9427
Name: Root Beer Calories: 200 Color: caramel Sold: 9909
Name: Orange Calories: 160 Color: orange Sold: 12101
Name: Lemon Calories: 200 Color: clear Sold: 14983
Name: Cola Calories: 210 Color: caramel Sold: 25412
Name: Diet Cola Calories: 0 Color: caramel Sold: 43922
Name: Water Calories: 0 Color: clear Sold: 62123
Products sorted by name:
Name: Cola Calories: 210 Color: caramel Sold: 25412
Name: Diet Cola Calories: 0 Color: caramel Sold: 43922
Name: Grapefruit Calories: 170 Color: red Sold: 8200
Name: Lemon Calories: 200 Color: clear Sold: 14983
Name: Orange Calories: 160 Color: orange Sold: 12101
Name: Raspberry Calories: 180 Color: pink Sold: 9427
Name: Root Beer Calories: 200 Color: caramel Sold: 9909
Name: Water Calories: 0 Color: clear Sold: 62123
Products sorted by calories:
Name: Diet Cola Calories: 0 Color: caramel Sold: 43922
Name: Water Calories: 0 Color: clear Sold: 62123
Name: Orange Calories: 160 Color: orange Sold: 12101
Name: Grapefruit Calories: 170 Color: red Sold: 8200
Name: Raspberry Calories: 180 Color: pink Sold: 9427
Name: Lemon Calories: 200 Color: clear Sold: 14983
Name: Root Beer Calories: 200 Color: caramel Sold: 9909
Name: Cola Calories: 210 Color: caramel Sold: 25412
Products sorted by color:
Name: Diet Cola Calories: 0 Color: caramel Sold: 43922
Name: Root Beer Calories: 200 Color: caramel Sold: 9909
Name: Cola Calories: 210 Color: caramel Sold: 25412
Name: Water Calories: 0 Color: clear Sold: 62123
Name: Lemon Calories: 200 Color: clear Sold: 14983
Name: Orange Calories: 160 Color: orange Sold: 12101
Name: Raspberry Calories: 180 Color: pink Sold: 9427
Name: Grapefruit Calories: 170 Color: red Sold: 8200

No se asuste …

El código es bastante fácil de entender.

En primer lugar, se ha creado una matriz de objetos. Cada objeto que tiene el mismo conjunto de propiedades.

matrices en JS tienen un método para ordenar incorporado. Este método para ordenar toma otra función definida por la comparación de los codificadores como un argumento.

El principal principio detrás de todo esto es que necesita un método para ordenar una función para comparar dos elementos de la matriz en la que se llama un método para ordenar. Cuando esta función es ser llamado y en el que dos elementos de una matriz que es para ser llamados que se decide por el método de clasificación.

Aquí he definido cuatro funciones que se utilizan para comparar dos objetos de una matriz a la vez. Cada función compara dos objetos en las diferentes bases. Al igual función, compareName compara dos objetos en la base de la propiedad nombre de los objetos.

Si el nombre del primer objeto es lexicográficamente más grande que el nombre del segundo objeto a continuación 1 se devuelve a un método para ordenar si son iguales se devuelve 0 y si el nombre del primer objeto es lexicográficamente más pequeña que el nombre de la segundo objeto entonces -1 es devuelto a un método para ordenar.

Otros tres funciones compareSold , el trabajo compareCaloriescompareColor Exactamente de igual manera.

Printproducts es una función simple que se usa para imprimir la matriz de entrada.

document.write es como console.log que se utiliza para mostrar texto en la página HTML correspondiente.

espero haber hecho todo muy claro y preciso.

Trate de hacer sus propias funciones comparar y utilizar el método de clasificación incorporado en diferentes matrices.


Deja un comentario

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