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>

 

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