Foros del Web » Programando para Internet » Javascript »

Agrupar miembros de Array...

Estas en el tema de Agrupar miembros de Array... en el foro de Javascript en Foros del Web. Buenas tardes, amigos de foros del web, mi consulta es la siguiente: Tengo el siguiente codigo javascript : Código: Array.prototype.sin = function(elemento) { var filtrado ...
  #1 (permalink)  
Antiguo 14/09/2009, 15:58
 
Fecha de Ingreso: junio-2009
Ubicación: Lima
Mensajes: 84
Antigüedad: 14 años, 11 meses
Puntos: 1
Agrupar miembros de Array...

Buenas tardes, amigos de foros del web, mi consulta es la siguiente:
Tengo el siguiente codigo javascript:


Código:
    Array.prototype.sin = function(elemento) {
    var filtrado = [];
    for(var i=0; i<this.length; i++) {
     if(this[i] !== elemento) {
      filtrado.push(this[i]);
    }
    }
      return filtrado;
    }


    function crearGrupos(){

    var inputs = $('table').getElementsByTagName('input');
    var length = inputs.length;
    var letras = new Array();
    var i=0;
   	    while(i<length){
           	if(inputs[i].id.indexOf('grupo') == 0){
           	letras[i]=inputs[i].value;
           	}
           i++;
      	}

    var filtrado = letras.sin();

    $('contenidoAgrupado').innerHTML=filtrado;


}
Este codigo captura en un array todos los inputs que estan en la tabla dinamica que hice, y filtra con indexOf todos lo que cuyo id contengan la palabra GRUPO, la funcion crearGrupos() me vuelve un arreglo digamos por ejemplo...:
[a,b,b,a], hasta aqui todo perfecto... el problema es que deseo que me me imprima lo siguiente: Son 2 letras A, Son 2 letras B y asi...segun lo que se ingrese...(solo pueden ser letras), osea deseo que identifique todas las letras que son repetidas y las junte y las cuente...no se si me dejo entender...espero me ayuden...muchas gracias...ahhh verdad...la funcion prototype es para eliminar elementos del array, en este caso lo deje vacio porque deseo que me elimine los espacios vacios...ayudenme pleaseee gracias de antemano...
  #2 (permalink)  
Antiguo 14/09/2009, 16:59
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Agrupar miembros de Array...

asumo que estas buscando algo similar a array_count_value en PHP. aqui te dejo una base, lo unico que en lugar de devolver un array "estadistico", devuelve un objeto donde las propiedades son los valores de los elementos del array original y los valores de cada propiedad indica la cantidad de veces que se repite.
Código:
Array.prototype.count_value = function(){
var count = {};
for(var i = 0; i < this.length; i++){
if(!(this[i] in count))count[this[i]] = 0;
count[this[i]]++;
}
return count;
}

// un ejemplo;
array = "abcdabcd".split('');
obj = array.count_value();
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 16/09/2009 a las 15:37 Razón: pequeño error en codigo
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 01:55.