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: Salvadoruve2 en 03 de Agosto 2016, 13:47

Título: JavaScript ordenar palabras por orden alfabético ignorando mayúsculas CU01153E
Publicado por: Salvadoruve2 en 03 de Agosto 2016, 13:47
Hola, propuesta de solución para ejercicio CU01153E del tutorial de desarrollo web con JavaScript del lado cliente.

Respecto al ejercicio siguiente :

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.

Para comprobar si tus respuestas y código son correctos puedes consultar en los foros aprenderaprogramar.com.

 

 

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].

Para comprobar si tus respuestas y código son correctos puedes consultar en los foros aprenderaprogramar.com.

El apartado 1 lo he resuelto de una manera rudimentaria, no se si se acerca a la acertada

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>No te Arrayes</title>
<meta charset="utf-8">
<style type="text/css">
body {text-align: center; margin: 0 auto;}
div {padding:15px; width: auto; display: inline-block; margin: 25px; margin-top: 300px; cursor: pointer; color: white; border-radius: 40px; background: rgb(202, 60, 60);}
div:hover, div:hover {background: rgb(66, 184, 221);}
</style>
<script type="text/javascript">

function start () {
var arrayModel = [33,2,36,55,4,1];

var msg = 'El array original es: ' + arrayModel + '\n';

msg = msg + 'El array ordenado de menor a mayor sería: ' + arrayModel.sort(function (elem1,elem2) {return elem1 - elem2;})+'\n';
msg = msg + 'El array ordenado de mayor a menor sería: ' + arrayModel.sort(function (elem1,elem2) {return elem2 - elem1;})+'\n';

alert(msg);

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

var msg2 = 'El array original es: ' + newArrayModel+ '\n';

var deMenorAMayor = newArrayModel.sort(function (elem1,elem2) {return elem1 - elem2;});

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

var deMayorAMenor = newArrayModel.sort(function (elem1,elem2) {return elem2 - elem1;});

msg2 = msg2 + 'El array ordenado de menor a mayor sería: ' + deMenorAMayor+ '\n';
msg2 = msg2 + 'El array ordenado de mayor a menor sería: ' + deMayorAMenor+ '\n';

alert(msg2);
}

</script>
</head>
<body>
<div onclick="start()">About Arrays</div>
</body>
</html>

El apartado numero dos no lo he sabido resolver correctamente con las herramientas que poseo hasta ahora. Si hay alguna sugerencia estaría encantado de saberla, gracias!
Título: Re:JavaScript ordenar palabras por orden alfabético ignorando mayúsculas CU01153E
Publicado por: César Krall en 06 de Agosto 2016, 20:11
Hola! El ejercicio 1 está bien resuelto.

Para el apartado 2 posiblemente hay que investigar un poco y buscar un poco de información adicional en los foros o en internet.

Mira estos hilos:

https://www.aprenderaprogramar.com/foros/index.php?topic=3422.0 donde hay algunos comentarios interesantes

https://www.aprenderaprogramar.com/foros/index.php?topic=4390.0 plantea otra forma de resolverlo

Consultando en internet puedes quizás sacar otras formas de resolverlo.

Saludos!