Foros del Web » Programando para Internet » Javascript »

juntar arrays

Estas en el tema de juntar arrays en el foro de Javascript en Foros del Web. hola una consulta, tengo un array @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original var mtz = [ 'val' , '(na' , 'da' , 'es)' , ...
  #1 (permalink)  
Antiguo 18/05/2011, 08:35
 
Fecha de Ingreso: mayo-2011
Mensajes: 171
Antigüedad: 13 años
Puntos: 32
Pregunta juntar arrays

hola una consulta, tengo un array
Código Javascript:
Ver original
  1. var mtz=['val','(na','da','es)','seva','(es','hoy)','(jajjgdg','as','assas','asasas','asas','i)']

si ven algunos items del array tienen un "(" y otros un ")"

con algún proceso al final quiero que quedes así

Código Javascript:
Ver original
  1. var mtz=['val','(na da es)','seva','(es hoy)','(jajjgdg as assas asasas asas i)']

maso menos como se puede hacer ?¿
  #2 (permalink)  
Antiguo 18/05/2011, 08:41
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: juntar arrays

buenas, se me ocurre que iteres por cada elemento del array. en cada ciclo verifica si existe el parentesis de apertura. si existe, acoplas el proximo elemento al anterior a la vez que vas analizando si dicho elemento contiene el parentesis de cierre. para acoplarlo, puedes usar un nuevo array o bien puedes hacer las modificaciones en el mismo array con splice.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 18/05/2011, 08:52
 
Fecha de Ingreso: mayo-2011
Mensajes: 171
Antigüedad: 13 años
Puntos: 32
Respuesta: juntar arrays

Cita:
Iniciado por zerokilled Ver Mensaje
buenas, se me ocurre que iteres por cada elemento del array. en cada ciclo verifica si existe el parentesis de apertura. si existe, acoplas el proximo elemento al anterior a la vez que vas analizando si dicho elemento contiene el parentesis de cierre. para acoplarlo, puedes usar un nuevo array o bien puedes hacer las modificaciones en el mismo array con splice.
mas o menos eso tengo y ya identifico cual item del array tiene el que abre y cual el que cierra lo que no me da a la idea es como juntar y solo hasta el que cierra

Código Javascript:
Ver original
  1. function ms(s){return document.write(s);}// obiado..XD
  2. for(var b=0;b<a.length;b++){
  3.     var coP=a[b].match(/^\(/)?'inP':a[b].match(/\)$/)?'fnP':'';
  4.     // inP inicia parentecisi --> fnP finaliza parentesis
  5.       ms(a[b]+' -> '+coP+'<br>');
  6. }

eso me bota :

uno ->
(dos-> inP
tres->
cuatro) -> fnP
cinco ->
(seis -> inP
siete->
ocho) -> fnP
nueve ->
diez ->

el dilema que se me a dado ahora es como los junto :P
  #4 (permalink)  
Antiguo 18/05/2011, 09:04
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años
Puntos: 343
Respuesta: juntar arrays

Asi rapido, [PUEDE FALLAR]:

Código Javascript:
Ver original
  1. var s = ['val','(na','da','es)','seva','(es','hoy)','(jajjgdg','as','assas','asasas','asas','i)'];
  2.  
  3. var status = -1;
  4. for(var i = 0; i < s.length; i++) {
  5.     if(status == -1) {
  6.         if(s[i].indexOf('(') != -1) {      
  7.             status = i;    
  8.         }
  9.     } else {
  10.         s[status] += ' '+s.splice(i--, 1);
  11.         if(s[status].indexOf(')') != -1) {
  12.             status = -1;
  13.         }  
  14.     }
  15. }
  16.  
  17. s // ["val", "(na da es)", "seva", "(es hoy)", "(jajjgdg as assas asasas asas i)"]
__________________
blog | @aijoona

Etiquetas: juntar
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 19:52.