2009-06-11 6 views
0

HI, En Java Script,Fusion Lices

var a = "pomme-orange-mangue" var b = "raisins-pomme joyeux"

var c = a + b // Fusion avec 2 variables

var c devrait avoir la valeur "pomme-orange-mangue-raisin-gaie" .Dupliquée doit être enlevée.

Merci, Chells

+0

Salut, c'est un devoir? – Eineki

+0

Non .. Ses problèmes que j'ai rencontrés relu un problème – joe

+0

ce n'est pas grave si c'est devoirs ou non, c'est une bonne question qui pourrait être reflétée sur les applications de la vie réelle, et pourrait aider les autres. – vsync

Répondre

1

est ici un algorithme de force brute:

var a; 
var b; // inputs 

var words = split(a+b); 
var map = {}; 
var output; 
for(index in words) { 
    if(map[ words[index] ]!=undefined) continue; 
    map[ words[index] ] = true; 
    output += (words[index] + '-'); 
} 
output[output.length-1]=' '; // remove the last '-' 

Les map agit comme Hashtable.

C'est le cas!

+0

Ce Wroks .. Mais nous devons changer le code un peu ce que – joe

+0

joe

+0

Ne devrions-nous pas encourager les gens à apprendre au lieu de publier simplement la réponse, en particulier à un problème si simple. – gonzohunter

2

Après votre chaîne est combiné, vous voulez le diviser en utilisant les délimiteurs (vous pouvez les ajouter de nouveau plus tard).

exemple:

var a ="apple-orange-mango" 
var b ="grapes-cheery-apple" 
var c = a + "-" + b 
var Splitted = c.split("-"); 

la variable Splitted contient désormais un tableau comme [les pommes, orange, mangue, raisin, cerise, pomme]

vous pouvez utiliser l'un des nombreux duplicate removing algorithms pour enlever la doublons. Ensuite, vous pouvez simplement le faire pour ajouter vos délimiteurs:

result = Splitted.join("-"); 
+0

c doit être un + - "+ b – Eineki

+0

vous devez inclure un" - "supplémentaire lors de la concaténation entre les chaînes dans cet exemple particulier. par exemple var a ="apple-orange-mango" var b ="grapes-cheery-apple" var c = a + "-" + b fearoffours

+0

@both d'entre vous .... qui est copié à partir du code OP, plus leur erreur. Mais bon oeil. Fixé. –

1

Je ne sais pas si c'est un devoir. Par ailleurs, vous pouvez diviser des chaînes comme a et b avec la méthode split de l'objet string. dans votre cas:

firstArray=a.split("-"); 
secondArray=b.split("-"); 

la suppression des doublons est à vous ...

1

Dans votre exemple simple, il suffit d'utiliser var c = a + "-" + b; Si vous voulez les doublons supprimés, divisé a et b dans des tableaux, et de les combiner, comme ceci:

var avalues = a.split("-"); 
var bvalues = b.split("-"); 
var combined = avalues.concat(bvalues); 
// now loop over combined and remove duplicates