Ver Mensaje Individual
  #11 (permalink)  
Antiguo 30/11/2004, 14:09
furoya
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 6 meses
Puntos: 317
Aquí están los ejemplos que hice.

Código:
<HTML>
<HEAD>
<TITLE>REUBICA ELEMENTO DE ARRAY. </TITLE>
<script language= "JavaScript">
var numero = [0,1,2,3,4,5,6,7,8,9]
var numeroD = [10,11,12,13,14,15,16,17,18,19]
var charly , delta , eco , foxtrot ;
var golf = "ERROR";

function move1(alfa,bravo){
if(alfa<this.length && alfa>=0 && bravo<this.length && bravo>=0 ){
 foxtrot = this.slice(alfa,alfa+1);

 if(alfa < bravo){
 charly = this.slice(0,alfa);
 delta = this.slice(alfa+1,bravo+1);
 eco = this.slice(bravo+1,this.length);
 golf = charly.concat(delta.concat(foxtrot.concat(eco)));
 }

 else if(alfa > bravo){
 charly = this.slice(0,bravo);
 delta = this.slice(bravo,alfa);
 eco = this.slice(alfa+1,this.length);
 golf = charly.concat(foxtrot.concat(delta.concat(eco)));
 }
 else golf = this;
}
return golf;
}

var kilo , lima , mike , noviembre;

function move2(hotel , indio , julieta){
kilo = hotel.length;
lima = new Array(kilo);
lima = []
mike = 0;

for(noviembre=0;noviembre<kilo;noviembre++){
if((indio<julieta && noviembre == indio) || (indio>julieta && noviembre == indio*1+1)){
mike++; lima[noviembre]=hotel[mike]; mike++;};
else if(noviembre == julieta){lima[noviembre]=hotel[indio]; }
else if(indio == julieta){lima=hotel; }
else {lima[noviembre]=hotel[mike]; mike++;}

//alert(" kilo="+kilo+"\n lima="+lima+"\n mike="+mike+"\n noviembre="+noviembre+"\n hotel="+hotel+"\n indio="+indio+"\n julieta="+julieta+"\n")

}
return lima;
}

Array.prototype.move1 = move1;
</script>
<style>
</style>
</HEAD>
<BODY>
<h2>Mover un elemento del <tt>array</tt> a otra posición.</h2>

<tt>
var numero = [0,1,2,3,4,5,6,7,8,9]<br>
var numeroD = [10,11,12,13,14,15,16,17,18,19]
<p>
<b>NOMBRE_ARRAY</b>.move1(<b>ELEMENTO_A_MOVER</b> , <b>POSICIÓN_DONDE_MOVER</b>)
</tt></p>
<p align=right><tt>prototype</tt> con <tt>concat() , slice()</tt> <input type=button value="numero.move1(3 , 7)" onclick=alert(numero.move1(3,7))> 
<input type=button value="numeroD.move1(8 , 2)" onclick=alert(numeroD.move1(8,2))>
</p>
<hr width=50% align=right>
<p>
<tt>move2(<b>NOMBRE_ARRAY</b> , <b>ELEMENTO_A_MOVER</b> , <b>POSICIÓN_DONDE_MOVER</b>)
</tt></p>
<p align=right><tt>for()</tt> <input type=button value="move2(numero , 3 , 7)" onclick=alert(move2(numero,3,7))> 
<input type=button value="move2(numeroD , 8 , 2)" onclick=alert(move2(numeroD,8,2))>
</p>

Estas funciones devuelven un nuevo <tt>Array</tt> sin modificar el original. 
</BODY>
</HTML>
Código:
<html>
<head>
<title> BARAJA ARRAY.</title>
<script>
var oscar = ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"];
var papa, quebec, romeo, sierra, tango;

Array.prototype.shuffle = function(){
romeo = this;
papa = romeo.length;
for (sierra=0; sierra<papa; sierra++){
quebec = romeo[sierra];
tango = Math.floor(Math.random()*papa);
romeo[sierra] = romeo[tango];
romeo[tango] = quebec;
}
return romeo;
}

</script>


<script>
var numeros , largo;

function creaArray(){
largo = frm2.elem.value;
numeros = new Array(largo);

for(a=0;a<largo;a++){
numeros[a] = a;
}
frm2.arr.value = numeros;
}

function shuffle2(romeo){
papa = romeo.length;
for (sierra=0; sierra<papa; sierra++){
quebec = romeo[sierra];
tango = Math.floor(Math.random()*papa);
romeo[sierra] = romeo[tango];
romeo[tango] = quebec;
}
frm2.verArray2.value=romeo;
}
</script>

<style>
#verArray{width:100%; font-weight:bold}
</style>

</head>
<body>
<h2>Mezcla elementos de <tt>Array</tt> en forma aleatórea.</h2>

<form name="frm1">
<input id="verArray" name="verArray" type="button" 
value="Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre,Octubre,Noviembre,Diciembre" 
title="Desordenar" onclick="this.value=oscar.shuffle()">
</form>
<p>Con click en el botón los meses se desordenan.<br>
Usa <tt>prototype</tt>.

<hr>

<h2>Crea un <tt>Array</tt> numérico y lo desordena.</h2>
<table align=center><td align=center>
<form name=frm2>
<input type=button value="Crear Array" onclick="creaArray()"> de 
<input size=3 name=elem value="100"> elementos.
<p>
<textarea name="arr" id="arr" cols=25 rows=5></textarea> 
</td><td align=center>
<input value="Desordenar Array" type="button" title="Desordenar" onclick="if(numeros)shuffle2(numeros)">
<p>
<textarea name="verArray2" id="verArray2" cols=25 rows=5></textarea>
</td></table>
</form>
</body>
</html>
saludos

furoya