Foros del Web » Programando para Internet » Javascript »

Problema con Arrays

Estas en el tema de Problema con Arrays en el foro de Javascript en Foros del Web. Hola a todos. Necesito hacer una función y no lo consigo. Si alguien me pudiera ayudar se lo agradecería. Mi problema es el siguiente: Tengo ...
  #1 (permalink)  
Antiguo 02/01/2006, 10:52
 
Fecha de Ingreso: enero-2006
Mensajes: 2
Antigüedad: 18 años, 4 meses
Puntos: 0
Exclamación Problema con Arrays

Hola a todos.
Necesito hacer una función y no lo consigo. Si alguien me pudiera ayudar se lo agradecería.

Mi problema es el siguiente: Tengo un array como este:

[A,B,C,B,A,A,C,C,C]

Querría ordenar los elementos de mi array en función del número de veces en que aparecen, y devolver el siguiente array:

[(A,3),(B,2),(C,4)]

He probado varias cosas y no lo consigo (estoy un poco verde con el javascript ).

Muchas gracias y un saludo.
  #2 (permalink)  
Antiguo 02/01/2006, 14:38
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 4 meses
Puntos: 43
Hola Narsil80!

Hice algo medio rápido, no estoy seguro si sea lo mejor para hacer lo que deseas pero te pongo el script para que lo analices y revises si esta bien.

Código PHP:
var array = ['A','B','C','B','A','A','C','C','C''D''Z''i''Z'];
var 
box = [];
function 
sortByNumber(array){
    var 
value = [];
    
    for(var 
property in array){
      if(
result unicValues(array[property], array)){
        
value.push(result);
       }
     }
    for(var 
i in value){
        
alert(value[i]);
     }
}
function 
unicValues(value, array){
    var 
count 0;
    for(var 
i=0box.lengthi++){
            if(
value == box[i]){
                return 
0;
             }
           }
     for(var 
i=0< array.lengthi++){
             if(
value == array[i]){
                
count++;
             }
           }
     
box.push(value);
     return [
value,count];
}
sortByNumber(array); 
Suerte!
  #3 (permalink)  
Antiguo 03/01/2006, 04:45
 
Fecha de Ingreso: enero-2006
Mensajes: 2
Antigüedad: 18 años, 4 meses
Puntos: 0
Muchas gracias jahepi, me has sido de mucha ayuda.

Un saludo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:58.