Código de JavaScript - Mostrar un array moviendo las posiciones del mismo

Imágen de perfil
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Mostrar un array moviendo las posiciones del mismográfica de visualizaciones


JavaScript

Publicado el 7 de Febrero del 2018 por Xve (294 códigos)
1.008 visualizaciones desde el 7 de Febrero del 2018
Este código muestra como mostrar el contenido de un array varias veces, pero en cada iteración mostrando el primer valor del array al final del mismo.
ejemplo del array: [" 1 "," 2 "," 3 "]
nos mostrara:
1 2 3
2 3 1
3 1 2

Se añaden dos códigos, uno haciéndolo de forma manual sin funciones, y otro utilizando las funciones shift() y push(). En este ejemplo, se hacen 5 millones de iteraciones (solo se muestran las 10 primera en pantalla) para revisar la diferencia de tiempo entre los dos sistemas.

mostrar-un-array-moviendo-las-posiciones

Versión 1.0
estrellaestrellaestrellaestrellaestrella(1)

Publicado el 7 de Febrero del 2018gráfica de visualizaciones de la versión: Versión 1.0
1.009 visualizaciones desde el 7 de Febrero del 2018
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
 
</head>
<body>
 
<div id="resultado"></div>
 
<script>
// esta variable contiene el resultado a mostrar en el div resultado
var result="";
var tmp=0;
 
// array que vamos a ir mostrando cambiando las posiciones de los elementos
// en cada iteración el primer elemento pasara a ser el ultimo
var valores=[" 1 "," 2 "," 3 "," 4 "," 5 "];
 
result+="<br>--------------------------------------------------------------------------";
result+="<br>Forma manual sin utilizar funciones y sin modificar el array";
result+="<br>--------------------------------------------------------------------------";
 
var start = new Date().getTime();
// varible que contendra la posicion del array para mostrar el primer valor
var pos=0;
for(var i=0;i<valores.length*1000000;i++)
{
	// solo mostramos las 8 primeros iteraciones
	if(i<valores.length*2) {result+="<br>";}
 
	tmp=pos;
	// bucle por todos los elementos del array
	for(let j=0;j<valores.length;j++)
	{
		// la variable tmp varia si el valor de j+tmp es superior a la cantidad
		// de valores del array
		tmp=(j+tmp==valores.length?-j:tmp);
		if(i<valores.length*2) {
			result+=valores[j+tmp];
		}
	}
 
	// aumentamos la posicion del apuntador para iniciar a mostrar el array
	pos++;
	pos=(pos==valores.length?0:pos);
}
var end = new Date().getTime();
result+="<br>time: "+(end-start)+" milisegundos";
 
 
result+="<br>--------------------------------------------------------------------------";
result+="<br>Utilizando funciones y modificando las posiciones en el array";
result+="<br>--------------------------------------------------------------------------";
 
start = new Date().getTime();
for(var i=0;i<valores.length*1000000;i++)
{
	// solo mostramos las 8 primeros iteraciones
	if(i<valores.length*2) {result+="<br>";}
 
	// bucle por todos los elementos del array
	for(let j=0;j<valores.length;j++)
	{
		if(i<valores.length*2) {
			result+=valores[j];
		}
	}
 
	// eliminamos el primer valor shift() y el valor devuelto lo añadimos al
	// final del array
	valores.push(valores.shift());
}
end = new Date().getTime();
result+="<br>time: "+(end-start)+" milisegundos";
 
document.getElementById("resultado").innerHTML=result;
</script>
 
</body>
</html>



Comentarios sobre la versión: Versión 1.0 (1)

Imágen de perfil
11 de Febrero del 2018
estrellaestrellaestrellaestrellaestrella
Como cuentas el tiempo de procesado?
Responder

Comentar la versión: Versión 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s4427