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: DRANXZ88 en 29 de Agosto 2019, 23:04
-
Solución propuesta al ejercicio CU01153E del tutorial de programación JavaScript con ejercicios resueltos de aprenderaprogramar
Ejercicios 1
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<script type="text/javascript">
function ejemplo() {
var miArrayOriginal = [33, 2, 36, 55, 4, 1];
var miArray = [33, 2, 36, 55, 4, 1];
var msg ='El array original es: ' + miArrayOriginal +'\n';
msg = msg + 'Ordenado de mayor a menor es ' + miArray.sort(deMayorAMenor)+'\n';
msg = msg + 'Ordenado de menor a mayor es ' + miArray.sort(deMenorAMayor)+'\n';
alert(msg);
}
var deMenorAMayor = function (elem1, elem2){
return elem1-elem2;
};
var deMayorAMenor = function (elem1,elem2){
return elem2-elem1;
};
</script>
</head>
<body>
<div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2><h3>Ejemplos JavaScript</h3></div>
<div style="color:blue;" id ="pulsador" onclick="ejemplo()"> Probar </div>
</body>
</html>Ejercicios 2
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<script type="text/javascript">
function ejemplo() {
var miArray=['Moto', 'soto', 'Abaco', 'abeja', 'Sapo', 'nieve', 'Zumba', 'barco'];
msg = 'Ordenado de alfabeticamente es ' + miArray.sort(ordenarAlfabeticamente)+'\n';
alert(msg);
}
function ordenarAlfabeticamente(a, b) {
var n = a.toLocaleLowerCase().localeCompare(b.toLocaleLowerCase());
return n === 0 && a !== b ? b.localeCompare(a) : n;
}
</script>
</head>
<body>
<div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2><h3>Ejemplos JavaScript</h3></div>
<div style="color:blue;" id ="pulsador" onclick="ejemplo()"> Probar </div>
</body>
</html>
-
Buenas, para quien revise este ejercicio dejo algunos comentarios.
En el ejercicio 1 aunque el resultado sea correcto no se ha cumplido con lo que pedía el ejercicio:
a) No se ha seguido lo que pedía el ejercicio (es decir, usar una función anónima y la forma X.sort(function (…) { … } )
b) Tampoco se ha creado la variable que pedía el ejercicio deMenorAMayor
c) Tampoco se ha creado la variable que pedía el ejercicio deMayorAMenor
d) Como no se han creado las variables, tampoco está bien resuelto este apartado.
En el ejercicio 2:
No acabo de ver claro que fuera necesario escribir return n === 0 && a !== b ? b.localeCompare(a) : n; ya que aparentemente bastaría con escribir return n;
Por otro lado tampoco acabo de ver claro que la solución propuesta se adapte a lo que se explicaba en esta entrega del curso.
Puede verse una solución a este ejercicio y algunos comentarios más en https://aprenderaprogramar.com/foros/index.php?topic=3422.0
Salu2