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
-
Buenas noches. A continuación cuelgo las posibles soluciones de los ejercicios de la entrega CU01153E del curso JavaScript desde cero.
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:
<!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>
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:
<!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.
-
Funcionan OK
-
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.
-
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 :-[
-
Ejercicio # 1: Más sencillo y limpio el código.
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);
}
-
Ejercicio # 2: Otra variante. Haciendo uso tan solo de lo aprendido hasta el momento en este sitio web.
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) );
}
-
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