Cita:
Iniciado por Alexis88 Ya veo; aunque, por el resultado del ejemplo que pusiste, el resultado debería ser "mundo world amigos buddy" ya que "hola" y "bye" se repiten en ambas, lo que es equivalente a quitar las oraciones en rojo que eliminaste de los dos textos de tu ejemplo.
Dadas así las condiciones, lo que habría que hacer es, primero; recorrer al arreglo número uno, verificar en cada iteración que cada palabra no se encuentre en el arreglo número dos y, a las que cumplan dicha condición, asignarlas a un tercer arreglo. Luego, se repite el proceso pero esta vez leyendo los datos del arreglo número dos y comparándolos con los del arreglo número uno.
Código Javascript
:
Ver originalvar a = "hola mundo bye world",
b = "hola amigos bye buddy",
ax = a.split(" "),
bx = b.split(" "),
c = [];
ax.forEach(function(w){
if (b.indexOf(w) < 0){
c.push(w);
}
});
bx.forEach(function(w){
if (a.indexOf(w) < 0){
c.push(w);
}
});
console.log(c.join(" ")); //mundo world amigos buddy
DEMO Hola Alexis88
Este si funciona de verdad eres brillante amigo
de verdad genial, y me costo un poco adaptarlo a mi conveniencia pero lo logre y da un resultado mejor del que necesitaba, ya que separa lo que no esta con lo que si esta, o sea, es mas completo de esta manera, solo tiene un pequeño detalle como podria hacer que lo que esta aqui:
ax.forEach(function(w){
if (b.indexOf(w) < 0){
c.push(w);
}
});
deje al menos 3 o mas lineas de por medio entre este.
bx.forEach(function(w){
if (a.indexOf(w) < 0){
c.push(w);
}
});
para que quede asi mas o menos
//mundo world
_____0______
//amigos buddy
con ese espacio en medio.
Con eso si separaría un poco mejor visualmente los datos, esto seria lo ultimo de esta funcion mi amigo, Pero de verdad muchas gracias eres un genio