Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Dimitar Stefanov en 20 de Febrero 2016, 23:13

Título: JavaScript ordenar palabras por orden alfabético o números push, sort CU01153E
Publicado por: Dimitar Stefanov en 20 de Febrero 2016, 23:13
Buenas noches. A continuación cuelgo las posibles soluciones de los ejercicios de la entrega CU01153E del curso JavaScript desde cero.


Citar
EJERCICIO 1

Crea un script donde a partir del array [33, 2, 36, 55, 4, 1] se realicen los siguientes procesos:

a) Mostrar el array ordenado de menor a mayor y de mayor a menor usando la función sort y definiendo la función de ordenación de forma anónima, es decir, deberás invocar X.sort(function (…) { … } ) definiendo la función de forma anónima en vez de cómo función con nombre.

b) Crea una variable de nombre deMenorAMayor que contenga el resultado de ordenar de menor a mayor los elementos del array.

c) Crea una variable de nombre deMayorAMenor que contenga el resultado de ordenar de mayor a menor los elementos del array.

d) Muestra por pantalla el array original, la variable deMenorAMayor y la variable deMayorAMenor.


El código:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Ejemplo aprenderaprogramar.com</title>
<script type="text/javascript">
function ejemplo() {
var miArrayOriginal = [33,2,36,55,4,1];
var deMenorAMayor = [33,2,36,55,4,1];
var deMayorAMenor = [33,2,36,55,4,1];
deMenorAMayor = deMenorAMayor.sort(function(elem1,elem2){return elem1-elem2});
deMayorAMenor = deMayorAMenor.sort(function(elem1,elem2){return elem2-elem1});
var msg = 'El array original es: ' + miArrayOriginal + '\n';
msg = msg + 'Ordenar de mayor a menor es: ' + deMenorAMayor + '\n';
msg = msg + 'Ordenar de menor a mayor es: ' + deMayorAMenor + '\n';
alert(msg);
}
</script>
</head>
<body>
<div id="cabecera">
<h2>Cursos aprenderaprogramar.com</h2>
<h3>Ejemplos JavaScript</h3>
</div>
<div style="color: blue; text-align: center; cursor: pointer;" id="pulsador" onclick="ejemplo()">Probar Ejercicio</div>
</body>
</html>


Citar
EJERCICIO 2

Crea un script donde sea posible ordenar palabras por orden alfabético sin tener en cuenta la existencia de mayúsculas o minúsculas. Por ejemplo, declarar var miArray=['Moto', 'soto', 'Abaco', 'abeja', 'Sapo', 'nieve', 'Zumba, 'barco'] y tras ordenar obtener =[ 'Abaco', 'abeja', 'barco', 'Moto', 'nieve', 'Sapo', 'soto', 'Zumba].


Y el código:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Ejemplo aprenderaprogramar.com</title>
<script type="text/javascript">
function ejemplo() {
var miArray=['Moto', 'soto', 'Abaco', 'abeja', 'Sapo', 'nieve', 'Zumba', 'barco'];
alert(miArray.sort(function(a, b){return a.toLowerCase().localeCompare(b.toLowerCase());}));
}

</script>
</head>
<body>
<div id="cabecera">
<h2>Cursos aprenderaprogramar.com</h2>
<h3>Ejemplos JavaScript</h3>
</div>
<div style="color: blue; text-align: center; cursor: pointer;" id="pulsador" onclick="ejemplo()">Probar Ejercicio</div>
</body>
</html>


PD: Para la solución del segundo código me he guiado por la solución del "pedro,,". He buscado un montón de soluciones alternativas, pero la suya ha sido la mejor. Os dejo el enlace de su foro:

https://www.aprenderaprogramar.com/foros/index.php?topic=3422.msg14957#msg14957 (https://www.aprenderaprogramar.com/foros/index.php?topic=3422.msg14957#msg14957)

En el ejercicio 1 tenía las mismas dudas que "pedro,,", pero después de leer los comentarios en su foro ya se desvanecieron.

Gracias.
Título: Re:CU01153E JavaScript push, sort
Publicado por: bermartinv en 20 de Febrero 2016, 23:29
Funcionan OK
Título: Re:CU01153E JavaScript push, sort
Publicado por: pedro,, en 21 de Febrero 2016, 00:23
Solo un detalle, en el primer ejercicio cuando se muestra por pantalla 'Ordenar de mayor a menor es:', el array sale ordenado de menor a mayor y en el siguiente al revés.

Saludos.
Título: Re:CU01153E JavaScript push, sort
Publicado por: Dimitar Stefanov en 21 de Febrero 2016, 17:58
Ai, es verdad, que tonto que soy. Tienes razón Pedro. Tengo que cambiar el texto.

Por cierto, ya lo dije al colgar el ejercicio, pero para el segundo código el mérito es de "pedro,," y no mío. Lo que he hecho es copiarle el código  :-[
Título: Re:JavaScript ordenar palabras por orden alfabético o números push, sort CU01153E
Publicado por: Reinier Garcia en 10 de Octubre 2016, 05:12

Ejercicio # 1: Más sencillo y limpio el código.
Código: [Seleccionar]
function cap53_ejercicioFinal1() {

    var miArrayOriginal = [33, 2, 36, 55, 4, 1];
    var copiaArrayOriginal = miArrayOriginal;

    var MenorAMayor = copiaArrayOriginal.sort(function (elem1, elem2) {return elem1 - elem2;}).join(', ');
    var MayorAMenor = copiaArrayOriginal.reverse().join(', ');

    var msg = 'El array original es: [' + miArrayOriginal.join(', ') + ']\n';
    msg += 'Ordenado de mayor a menor es: [' + MayorAMenor + ']\n';
    msg += 'Ordenado de menor a mayor es: [' + MenorAMayor + ']\n';

    alert(msg);

}
Título: Re:JavaScript ordenar palabras por orden alfabético o números push, sort CU01153E
Publicado por: Reinier Garcia en 10 de Octubre 2016, 05:36
Ejercicio # 2: Otra variante. Haciendo uso tan solo de lo aprendido hasta el momento en este sitio web.

Código: [Seleccionar]
function cap53_ejercicioFinal2() {

    var miArrayOriginal = ['Moto', 'soto', 'Abaco', 'abeja', 'Sapo', 'nieve', 'Zumba', 'barco'];
    var copiaArrayOriginal = miArrayOriginal;
    var ordenAlfabetico = copiaArrayOriginal.sort(ordenarAlfabeticamenteNoCaseSensitive).join(', ');

    var msg = 'El array original es: [' + miArrayOriginal.join(', ') + ']\n';
    msg += 'Ordenado alfabéticamente es: [' + ordenAlfabetico + ']\n';

    alert(msg);

}


function ordenarAlfabeticamenteNoCaseSensitive(item1, item2) {

    return ( item1.toLowerCase() < item2.toLowerCase()? - 1: (item1.toLowerCase() > item2.toLowerCase()? 1: 0) );

}
Título: Re:JavaScript ordenar palabras por orden alfabético o números push, sort CU01153E
Publicado por: pedro,, en 14 de Octubre 2016, 02:18
Hola Reinier Garcia.

Lo primero recomendarte que leas el siguiente apartado para escribir correctamente en el foro.

https://www.aprenderaprogramar.com/foros/index.php?topic=1460.msg7784#msg7784

Intenta crear nuevos temas con tus soluciones y escribir en temas antiguos y pedirte también que intente colocar tu código javaScript en un documento html para facilitar la corrección y ejecución del mismo.

Sobre tu ejercicio decirte que hace lo que pide el enunciado.

Saludos.  ;D