Ver Mensaje Individual
  #20 (permalink)  
Antiguo 09/12/2004, 14:24
furoya
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
Cita:
Iniciado por kepawe en el mensaje # 16
...Lo del condicional no es tan complicado, ... Como ves parece más de lo que es ...
Sí. Como en todos los casos, para entender algo lo primero es no asustarse y luego comenzar a estudiarlo. Gracias kepawe.

caricatos : tu página de métodos está quedando cada vez mejor. Me sorprendió que no funcionaran bien los move, y después entendí que era un tema del formulario.
Pero esta objeción junto con tu ejemplo de ordenación de tabla, me dieron un par de ideas.

Para empezar, sort ordena por caracteres; es decir : que los valores numéricos van a ser interpretados como cadenas, y así un "27" va a quedar antes que un "8". Lo que no está mal si queremos simular un orden alfabético, pero no vi un método que ordene valores numéricos de menor a mayor o viceversa.

Por ahora sólo tengo como encontrar el valor mínimo o máximo de una lista de números, y también los elementos más corto y más largo de un Array

Código:
<HTML>
<HEAD>
<script language= "JavaScript">
var numeros = [0,1,2,3,4,5,6,7,8,9];
var letras = ["A","BB","CCC","DDDD","EEEEE","F"];

Array.prototype.minNumber = function(){
var ini = this[0];
var ary = this;
var str = ary.join("");
var checkNum = str*1;
//var ind;
if(checkNum == str){
 for(i=1 ; i<this.length ; i++){
  if(this[i]<ini) {
  ini=this[i]; /* DEVUELVE EL VALOR DEL ELEMENTO MÁS BAJO */
  //ind=i; /* DEVUELVE LA POSICIÓN DEL ELEMENTO MÁS BAJO */
  }
 }
}
else alert("Al menos un elemento de Array no es numérico.");
return ini;
}


Array.prototype.lengthMinMax = function(){
var minVal = maxVal = this[0];
var minOrgn = maxOrgn = this[0].length;
 for(i=1 ; i<this.length ; i++){
  if(this[i].length < minOrgn) {minVal = this[i];}
  if(this[i].length > maxOrgn) {maxVal = this[i];}
  }
var nuevo = [minVal,maxVal];
return nuevo
}


</script>
<style>
input{width:40%}
</style>
</HEAD>
<BODY>
<input type=button value="1,5,9,0,3,7,6,2,4,8" onclick="this.value = numeros.minNumber()"> Muestra el valor mínimo de un Array numérico.
<p>
<input type=button value='A,BB,CCC,DDDD,EEEEE,F' onclick="this.value = letras.lengthMinMax()"> Muestra los valores más corto y más largo de un Array de cadenas.<br>
Si existen 2 elementos con la misma cantidad de caracteres muestra el de índice más bajo.
</BODY>
</HTML>
Para explicar la "segunda idea" voy a corregir algo que escribí más arriba : sort no ordena alfabeticamente sino por ASCII ( o ANSI). Es decir, que nuestra "Ñ" y las vocales acentuadas van a terminar en cualquier lado. Habría que crear también un spanishSort(), pero ésto va a ser enormemente más complicado que ordenar números de menor a mayor ...

saludos

furoya