Hola caricatos y furoya.
Caricatos: no es necesario añadir "return this" al método random, ya que solo modicamos el orden del mismo array. Por ejemplo si quisieramos hacer una copia de un array con los elementos rotados a la izquierda, y eliminar el ultimo elemento del array original si es necesario utilizar return para enviar la copia, pero no seria necesario para el array original.
Te envio este ejemplo.
Código PHP:
<title>Copia de un array rotando sus elementos a la izquierda</title>
</head>
<script language=JavaScript type=text/javascript>
<!--
Array.prototype.rotarI = function() {
var temp = new Array(this.length)
if(temp.length > 0){
var first_element = this[0]
for(var ctr = 0; ctr < this.length - 1; ctr++){
temp[ctr] = this[ctr+1]
}
temp[temp.length - 1] = first_element
}
// eliminamos el ultimo elemento del array
this.length--
// enviamos el array a la variable
return (temp)
}
var numeros = new Array(0,1,2,3,4,5)
var copia = numeros.rotarI()
var copia2 = numeros.rotarI()
var msg=" "
for(var ct = 0; ct < copia.length; ct++){
msg+= copia[ct]+ " "
}
alert("Array numeros: " + numeros + "\n" + "Array copia:" + copia +
"\n Array copia2: " + copia2)
alert(msg)
//-->
</script>
<body>
</body>
</html>
Cita:
Iniciado por furoya Sí. Como en todos los casos, para entender algo lo primero es no asustarse y luego comenzar a estudiarlo. Gracias kepawe.
De nada furoya, estoy totalmente de acuerdo contigo.
En cuanto a lo de ordenar los numeros puedes utilizar la funciones para el metodo sort() que puse en un anterior mensaje, tengo una vaga idea de como funciona ya que estas funciones no son mias. Las vuelvo a enviar.
Código PHP:
// FUNCIONES PARA EL MÉTODO SORT()
// Esta función ordena los números de menor a mayor
/* Solo es valida para array donde todos sus valores
son numericos */
//Sintaxis - nombre_array.sort(numeric_sort_min)
function numeric_sort_min(element1, element2){
return (element1 - element2)
}
// Esta función ordena los números de mayor a menor
/* Solo es valida para array donde todos sus valores
son numericos */
//Sintaxis - nombre_array.sort(numeric_sort_max)
function numeric_sort_max(element1, element2){
return (element2 - element1)
}
// Ordena alfábeticamente pero en sentido inverso
//Sintaxis - nombre_array.sort(reverse_alpha_numerical)
function reverse_alpha_numerical(element1,element2){
if(element1 > element2){
return -1
}
else if(element1 < element2){
return 1
}
else{
return 0
}
}
Como dices habria que crea un spanishSort(), he pensado como se puede hace y creo que la mejor forma de hacerlo es como lo plantea Caricatos. Si consigo hacerla la enviare.
Saludos