Necesito opiniones (pero no demaciado duras ) sobre la funcion ordenar
Antes del codigo quiero aclarar que estuve buscando por la web y me topé con muchas paginas ablando de la ordenacion de array (inclusive algunas protagonizadas por caricato,furoya,etc), pero como no soy demasiado entendido en esto de sort(),burbuja, y que se yo cuantos terminos mas, me puse a hacer mi propia funcion de ordenacion de arrays bidimensionales (tal vez un poco rudimentaria).
El ejemplo solo ordena ascendentemente, pero ya le incorporaré la oredenacion descendente y si me da el cuero, ordenar por dos columnas.
Código PHP:
<html>
<head>
<title>Ejemplo de JavaScript</title>
<script language="JavaScript">
archivo=new Array();
archivo[0]=new Array("pagina_uno.html","pagina_dos.html","pagina_tres.html","pagina_cuatro.html","pagina_cinco.html");
archivo[1]=new Array("fecha_1","fecha_2","fecha_3","fecha_4","fecha_5");
archivo[2]=new Array("1kb","2kb","3kb","4kb","5kb");
function ordenar(col){
array_temp=new Array();
temp_array=new Array();
//genera array temporal con el valor del array primario mas un numero correlativo
for (x=0;x<archivo[col].length;x++){
temp_array[x]=archivo[col][x]+"*"+x;
}
ordenando=temp_array.sort();//ordena ascendentemente los valores del array temporal
for (y=0;y<temp_array.length;y++){
inicio=temp_array[y].indexOf("*");
ubicacion=ordenando[y].slice(inicio+1,ordenando[y].length);
ordenando[y]=ubicacion;// revalua array temporal con la ubicacion de ordenacion del array primari0
}
for (z=0;z<archivo.length;z++){//reordena los mismos array utilizando uno temporal
for (q=0;q<ordenando.length;q++){
array_temp[q]=archivo[z][ordenando[q]];
}
for (w=0;w<array_temp.length;w++){
archivo[z][w]=array_temp[w];
}
}
generar_lista();
}
function generar_lista(){
obj=document.getElementById('listado');
if (obj){
document.getElementById('tabla').removeChild(obj);
}
cuantos_ar=archivo[0].length;
cuantas_col=archivo.length;
var MyTable;
var NewRow;
var NewCell;
MyTable = document.createElement('table');
MyTable.id="listado";
for (x=0;x<cuantos_ar;x++){
NewRow = document.createElement('tr');
for (y=0;y<cuantas_col;y++){
NewCell = document.createElement('td')
NewCell.width = 150;
NewCell.innerHTML =archivo[y][x];
NewRow.appendChild(NewCell);
}
MyTable.appendChild(NewRow);
}
document.getElementById('tabla').appendChild(MyTable);
}
</script>
</head>
<body onload="generar_lista()">
<input type="button" name="nombre" value="Nombre " onclick="ordenar(0)" style="width:150px;">
<input type="button" name="fecha" value="Fecha " onclick="ordenar(1)" style="width:150px;">
<input type="button" name="peso" value="Peso " onclick="ordenar(2)" style="width:150px;">
<span id="tabla"></span>
</body>
</html>
No está en discución la funcion generar_lista (que depaso no funca en IE), sino ,si es viable la utilizacion de la funcion ordenar, si es demaciada pesada para el cliente , o si es simplemente una porquería