2016-07-04 16 views
-3

ich ein Array haben zurückzukehren und ich bin mit der Filterfunktion für Arrays nach Duplikaten überprüfen:Array Filter eine Zeichenfolge

var array = [hello, world, hello, hi, how are you]; 
     var uniqueArray = array.filter(function(item, pos) { 
      return array.indexOf(item) == pos; 
     }); 
    return uniqueArray.join(","); 

Nun möchte Ich mag diese einzigartige Array als String zurück und aus unerfindlichen Grund, dass es versagt. Aus der Dokumentation geht hervor, dass es ein Array zurückgibt, aber wie kann ich dieses eindeutige Array in einen String konvertieren?

+0

Welche Fehler erhalten Sie? – gcampbell

+3

'var array = [hallo, welt, hallo, hi, wie geht's];' sollte 'var array = ['hallo', 'welt', 'hallo', 'hi', 'wie geht es dir']; 'es sei denn, das sind die Namen von Variablen. Der Rest des Codes funktioniert gut. Btw: '.join()' und '.join (", ")' sind die gleichen – k102

+0

@ k102 speziell die 'Wie geht es dir 'ohne Kommas wäre nicht gültig – naomik

Antwort

0

Fügen Sie Ihren Strings Zitate hinzu!

var array = ['hello', 'world', 'hello', 'hi', 'how are you']; 
var uniqueArray = array.filter(function(item, pos) { 
    return array.indexOf(item) === pos; 
}); 
return uniqueArray.join(","); 
+0

Wenn Sie eine Antwort posten, erwägen Sie, '===' und 'join()' ' – k102

+0

zu erwähnen.' '== 'ist gute Praxis ja, aber es scheint, als ob das OP schon' Join' kennt. – naomik

+0

Fix the Syntaxfehler 'retunr' – naomik

1

Und mit Pfeil Funktion:

var arr = ['hello', 'world', 'hello', 'hi', 'hello','how are you']; 
var str = arr.filter((item, pos, tab) => tab.indexOf(item) === pos).join(","); 
console.log(str); 
Verwandte Themen