Foros del Web » Programando para Internet » Javascript »

arreglos

Estas en el tema de arreglos en el foro de Javascript en Foros del Web. hola. tengo dos arreglos con los sig. datos: array datos array cant rcruz 561 sa 17 gmaza 0 sa 17 rcruz 561 sa 17 necesito ...
  #1 (permalink)  
Antiguo 02/07/2010, 11:33
Avatar de GABRIL  
Fecha de Ingreso: febrero-2007
Mensajes: 280
Antigüedad: 17 años, 9 meses
Puntos: 4
arreglos

hola.

tengo dos arreglos con los sig. datos:

array datos array cant

rcruz 561
sa 17
gmaza 0
sa 17
rcruz 561
sa 17


necesito sacar estos 2 arreglos pero asi:

array datosFinal arrayCantFinal

rcruz 561
sa 17
gmaza 0

como pueden ver, necesito agrupar los datos del arreglo para que asi los que estan repetidos no se vuelvan a mostrar y pasarlos a un nuevo arreglo.
no importa con que lenguaje se haga, luego lo paso a javascript.
gracias de antemano.
__________________
"La soberbia nunca baja de donde sube, pero siempre cae de donde subió"
Francisco De Quevedo
  #2 (permalink)  
Antiguo 02/07/2010, 13:02
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: arreglos

Hola

Como dices que no te importa el lenguaje, ¿qué tal con javascript?

Código Javascript:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta name="http-equiv" content="Content-type: text/html; charset=UTF-8"/>
  5. <script type="text/javascript">
  6. Array.prototype.EliminarRepetidos = function () {
  7. var arr_limpio = [];
  8. var val_eliminados = [];
  9. var cantidad = {};
  10.     for(var i = 0; i < this.length; i++){
  11.         if(!(this[i] in cantidad)) {
  12.             cantidad[this[i]] = 0;
  13.             arr_limpio.push(this[i]);
  14.             cantidad[this[i]]++;
  15.         } else {
  16.             val_eliminados.push(this[i]);
  17.             cantidad[this[i]]++;
  18.         }
  19.     }
  20.  
  21. var repeticiones = "";
  22.     for (j=0; j < arr_limpio.length; j++) {
  23.         repeticiones +="El elemento " + arr_limpio[j] + " se repite ------ " + parseInt(cantidad[arr_limpio[j]]-1) +" veces\n"
  24.     }
  25.     alert("Arreglo Original: " + array.toString() + "\nArreglo Limpio: " + arr_limpio.toString() + "\nValores Eliminados: " + val_eliminados.toString() + "\nCantidad de veces que se repite cada elemento\n=======================\n" + repeticiones)
  26. }
  27.  
  28.  
  29. function ContarRepetidos() {
  30. var array1 = [1,2,3,4,5,6,7,8,9,0];
  31. var array2 = [1,3,5,7,9];
  32. var valores = array1.concat(array2);
  33. for (i=0; i < valores.length; i++) {
  34. cadena = valores.join('');
  35. }
  36. array = cadena.split('');
  37. obj = array.EliminarRepetidos();
  38. }
  39. </script>
  40. </head>
  41. <body>
  42. <h1>Se Eliminan elementos repetidos.<br/>
  43. Se cuenta el número de veces que se repite cada elemento</h1>
  44. <a href="javascript:void(0);" onclick="ContarRepetidos();">Ver</a>
  45. </body>
  46. </html>

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Etiquetas: arreglos
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 13:33.