Ejercicios resueltos Arrays en Javascript

En este artículo podrás encontrar una gran variedad de ejercicios resueltos de arrays/arreglos en Javascript.

javascript arrays

Ejercicio 1

Dado un vector de enteros, comprobar el mayor, el menor y por último la media de todos.

El botón «Cargar Ejemplo» pondrá un ejemplo de números predefinidos.

ejercicio1_arrays_javascript

<h1>Ejercicio Sencillo 1 Arrays. Mayor, Menor y Media</h1>
<p id="parrafo">Introduce los enteros separados por comas</p>

<input type="text" id="text"></input>
<input type="button" value="Cargar Ejemplo" onclick="cargarejemplo()"></input>
<br><br><input type="button" value="calcular" onclick="calcular()"></input>
<input type="button" value="Reiniciar" onclick="Reiniciar()">
<p id="array"></p>

<p id="resultado"></p>

<script>
function cargarejemplo(){

document.getElementById("text").value="5,99,43,12,37";

}
function Reiniciar(){
location.reload();
}

function calcular(){
var array = document.getElementById("text").value.split(/,/);

var mayor=-Infinity,menor=+Infinity,suma=0,media=0;

//SUMA
for(i=0;i<array.length;i++){
suma=parseInt(array[i])+suma;
}

//MEDIA
media=suma/array.length;

//MENOR
for(i=0;i<array.length;i++){
if(parseInt(array[i])<menor) menor=array[i];
}

//MAYOR
for(i=0;i<array.length;i++){
if(parseInt(array[i])>mayor) mayor=array[i];
}

//RESULTADO

document.getElementById("resultado").innerHTML="La suma es:"+suma+"<br>"+
											   "La media es:"+media+"<br>"+
											   "El mayor es:"+mayor+"<br>"+
											   "El menor es:"+menor+"<br>"

}

</script>

 

Ejercicio 2

Concatenar dos arrays A y B de la siguiente forma: A0, B0, A1, B1, A2, B2, …, An, Bn. Los vectores tendrán la misma longitud.

ejercicio2_arrays_javascript

<h1>Ejercicio sencillo 2: Concatenar 2 Arrays</h1>

<p>Introduce los primeros enteros separados por comas</p>
<input type="text" id="ejemplo1">
<input type="button" value="Ejemplo1" onclick="ejemplo1()">

<p>Introduce los segundos enteros separados por comas</p>
<input type="text" id="ejemplo2">
<input type="button" value="Ejemplo2" onclick="ejemplo2()">
<p><input type="button" value="Concatenar" onclick="concatenar()"></p>
<input type="button" value="Reiniciar" onclick="Reiniciar()">

<p id="resultado"></p>

<script>


function ejemplo1()
{
	document.getElementById("ejemplo1").value= "12,15,29,37,85";
}
var miri=[];
function ejemplo2(){
//Insertaré el ejemplo de modo aleatorio

	for(i=0;i<5;i++)
	{
		miri.push(parseInt(Math.random()*100));

	}
	document.getElementById("ejemplo2").value= miri;
}

var aux=[];
function concatenar(){

	var array1=document.getElementById("ejemplo1").value.split(/,/);
	var array2=document.getElementById("ejemplo2").value.split(/,/);
	for(i=0;i<array1.length;i++)
	{
		aux.push(array1[i]);
		aux.push(array2[i]);
	}	
	document.getElementById("resultado").innerHTML=aux;


}

function Reiniciar(){
	window.location.href = 'ejercicio2.html'; 
	//location.reload(); //recargar la página web
}

</script>

Ejercicio 3

El mismo ejercicio que el anterior pero con arrays de diferentes longitudes.

ejercicio3_arrays_javascript

<h1>Ejercicio simple 3: Concatenar arrays diferentes tamaños</h1>

<p>Introduce los primeros enteros separados por comas</p>
<input type="text" id="ejemplo1">
<select id="select1">
	<option value="1">1</option>
	<option value="2">2</option>
	<option value="3">3</option>
	<option value="4">4</option>
	<option value="5" selected="">5</option>
	<option value="6">6</option>
</select>
<input type="button" value="Ejemplo1" onclick="ejemplo1()">

<p>Introduce los segundos enteros separados por comas</p>
<input type="text" id="ejemplo2">
<select id="select2">
	<option value="1">1</option>
	<option value="2">2</option>
	<option value="3" selected="">3</option>
	<option value="4">4</option>
	<option value="5">5</option>
	<option value="6">6</option>
</select>
<input type="button" value="Ejemplo2" onclick="document.getElementById('ejemplo2').value=ejemplo(document.getElementById('select2').value)">
<p><input type="button" value="Concatenar" onclick="concatenar()"></p>
<input type="button" value="Reiniciar" onclick="Reiniciar()">

<p id="resultado"></p>

<script>
var array1=[], array2=[];

function ejemplo1(){

	var num=document.getElementById("select1").value;
	for(i=0;i<num;i++)
	{
		array1.push(parseInt(Math.random()*100));
	}
	document.getElementById("ejemplo1").value=array1;
}
//Esta funcion es mejorada con respecto a la anterior, para así reduccir el número de funciones ejemplo

function ejemplo(x){

	for(i=0;i<x;i++)
	{
		array2.push(parseInt(Math.random()*100));
	}
	return array2;
}

var aux=[];
function concatenar()
{
	array1=document.getElementById("ejemplo1").value.split(/,/);
	array2=document.getElementById("ejemplo2").value.split(/,/);
	if (array1.length>array2.length)
	{
		for(i=0;i<array2.length;i++){

			aux.push(array1[i]);
			aux.push(array2[i]);

	}
	for(;i<array1.length;i++)
	{
		aux.push(array1[i]);
	}
	}
	else
	{
		for(i=0;i<array1.length;i++){

			aux.push(array1[i]);
			aux.push(array2[i]);

		}
		
		for(;i<array2.length;i++)
		{
			aux.push(array2[i]);
		}
	}


	document.getElementById("resultado").innerHTML=aux;


}

function Reiniciar(){
	window.location.href = 'ejercicio3.html'; 
	//location.reload(); //recargar la página web
}

</script>

Ejercicio 4

Dado un vector de enteros, introducir un nuevo elemento en la posición seleccionada.

ejercicio4_arrays_javascript

<!DOCTYPE html>
<html>
<head>
  <title>Ejercicio simple 4: Añadir elemento</title>
  <meta charset="utf-8"/>  
</head>
<body>
  <h1>Ejercicio simple 4: Añadir elemento</h1>
  <p>Introduce los primeros enteros separados por comas: </p>
  <input type="text" placeholder="Array de Enteros" id="array">
  <input type="button" value="Ejemplo" onclick="ejemplo()">
  <p>
  Valor: <input type="number" placeholder="Numero a añadir" id="valor">
  Posición del Array: <select id="posicion">
							<option value="0">0</option>
							<option value="1">1</option>
							<option value="2">2</option>
							<option value="3">3</option>
							<option value="4" selected="">4</option>
							<option value="5">5</option>
							<option value="6">6</option>
					  </select> 
		<input type="button" value="Insertar" onclick="insertar()">
  </p>

  <input type="button" value="Reiniciar" onclick="reiniciar()">
  <p id="resultado"></p>
  
<script>
var array=[], tmp=0;
function ejemplo()
{
	
	for(i=0;i<6;i++)
	{
		array.push(parseInt(Math.random()*100));
	}
	document.getElementById("array").value=array;
}
function insertar()
{
	array=document.getElementById("array").value.split(/,/);
	var posicion=document.getElementById("posicion").value;
	var valor=document.getElementById("valor").value;
	
	for(i=posicion;i<array.length;i++)
	{
		tmp=array[i];
		array[i]=valor;
		valor=tmp;
	}
	array[i]=valor; //Tengo que añadir el último elemento
	
	document.getElementById("resultado").innerHTML=array;
	
}

function reiniciar()
{

	location.reload();
}

</script>
</body>

 

Ejercicio 5

Ordenación de vector con el método de la burbuja.

ejercicio5_arrays_javascript

<h1>Ejercicio simple 5: Ordenar</h1>
<p>Introduce los primeros enteros separados por comas: </p>
<input type="text" placeholder="Introduce un array" id="array">
<input type="button" value="Introduce un ejemplo" onclick="ejemplo()">
<p><input type="button" value="Ordenar" onclick="ordenar()"></p>
<p id="resultado"></p>
<script>

var array=[], aux=[];
function ejemplo()
{
	for(i=0;i<5;i++)
	{
		array.push(parseInt(Math.random()*100));
	}
	document.getElementById("array").value=array;
}

function ordenar()
{
	for(j=0;j<array.length;j++)
	{
		for(i=0;i<array.length;i++)
		{
			if(array[i]>array[i+1])
			{
				aux=array[i];
				array[i]=array[i+1];
				array[i+1]=aux;
			}
		}
	}
	document.getElementById("resultado").innerHTML=array;
}
</script>

 

Ejercicio 6

Leer una cadena de texto en un formulario y generar un array con la función split(). Posteriormente, mostrar la siguiente información: Número de palabras, primera palabra, última palabra, las palabras colocadas en orden inverso, las palabras ordenadas de la a la z y las palabras ordenadas de la z a la a. Sacar toda esta información en una ventana nueva.

<head>
<title>Ejercicio 6</title>
<meta charset="UTF-8">

</head>
<body>
<h1>Está a mitad de hacer</h1>
<form name="formulario">
	<textarea name="miarea" placeholder="Introduce una frase" cols="30" rows="5"></textarea>
	<br>
	<input type="button" value="Púlsame" onclick="pulsar()"></input>
</form>
<div id="resultado"></div>

Última palabra:
las palabras colocadas en orden inverso, las palabras ordenadas de la a la z y las palabras ordenadas de la z a la a. 
<script>
function pulsar(){

var array=[];

array=document.formulario.miarea.value.split(" ");
var n_palabras=array.length;
var primera_palabra=array[0];
document.getElementById("resultado").innerHTML="Número de palabras: " +n_palabras+ 
												"<br>Primera palabra: " +primera_palabra;
}


</script>
</body>

 

Ejercicio 7

Realizar la serie de Fibonacci.

<script>
var a=new Array();

a[0]=1;
a[1]=1;

for(i=2;i<50;i++){
  a[i]=a[i-1]+a[i-2];
  document.write(a[i]+"<br/>");

}
</script>

 

Ejercicio 8

Escribe una función iterativa que dado un número entero n, retorne un array con todos los números enteros en orden decreciente desde n a 1.

<script>
var n=prompt("Introduce los números que deseas que contenga el array");
var array=[];
down(n);
function down(n)
{
	for (i=n; i>=1;i--){
		array.push(i);
	}
	
}
document.write(array);


</script>

 

Ejercicio 9

Muestra por pantalla los refranes contenidos en un array cada 2 segundos, con la función SetInterval de Javascript.

//setInterval es una función del objeto window

<p id="salida"></p>
<script>
var refranes=["El que la sigue la consigue",
			  "Más vale prevenir que curar",
			  "Quien todo lo quiere, todo lo pierde",
			  "No por mucho madrugar amanece más temprano",
			  "Persona prevenida vale por dos"];
var indice=0;

//setInterval es una función del objeto window
//Ejecute cada 2 segundos la función MuestraSiguienteRefran
setInterval(MuestraSiguienteRefran, 2000);

function MuestraSiguienteRefran(){
	indice++;
	if(indice>refranes.length){ //Si ya se han mostrado todos los refranes ...
		indice=0; 				  //... muestralos de nuevo desde el primero
	}
	document.getElementById("salida").innerHTML=refranes[indice];

}  

</script>

 

Ejercicio 10

Quitar los elementos repetidos de un array.

<script>
/*Dado un array, quitar elementos repetidos
El concepto puede ser fácilmente generalizado para tareas en el mundo real. 
Por ejemplo: si necesitas esclarecer estadísticas removiendo elementos de baja frecuencia (ruido).
*/

var miArray=new Array();
miArray[0]=200;
miArray[1]=40;
miArray[2]=400;
miArray[3]=40;
miArray[4]=40;

var resultado=new Array();


for(i=0;i<miArray.length;i++)
{
	if (isUnique(miArray,miArray[i]))  resultado.push(miArray[i]);
	
}

function isUnique(arr, el) {
    var hasOne = false;
    for (let item of arr) {
        if (item === el) {
            if (hasOne) {
                return false;
            } else {
                hasOne = true;
            }
        }
    }
    return true;
}


for(i=0;i<resultado.length;i++) document.write(" "+resultado[i]);
</script>

 

Ejercicio 11

Quitar los elementos no repetidos de un array.

<script>
/*Dado un array, quitar los elementos no repetidos
El concepto puede ser fácilmente generalizado para tareas en el mundo real. 
Por ejemplo: si necesitas esclarecer estadísticas removiendo elementos de baja frecuencia (ruido).
*/

var miArray=new Array();
miArray[0]=200;
miArray[1]=40;
miArray[2]=400;
miArray[3]=40;
miArray[4]=40;

var resultado=new Array();


for(i=0;i<miArray.length;i++)
{
	if (!(isUnique(miArray,miArray[i])))  resultado.push(miArray[i]);
	
}

function isUnique(arr, el) {
    var hasOne = false;
    for (let item of arr) {
        if (item === el) {
            if (hasOne) {
                return false;
            } else {
                hasOne = true;
            }
        }
    }
    return true;
}



for(i=0;i<resultado.length;i++) document.write(" "+resultado[i]);
</script>

 

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies ACEPTAR

Aviso de cookies