Montrant unique de caractères d'une chaîne en une seule fois

J'ai une chaîne de caractères avec la répétition des lettres. Je veux des lettres qui sont répétés plus d'une fois de montrer qu'une seule fois. Par exemple, j'ai une chaîne aaabbbccc je veux que le résultat soit abc. jusqu'à présent ma fonction fonctionne comme ceci:

  • si la lettre ne le répétez pas, il n'est pas montrée
  • si c'est répété une fois, c'est montrer qu'une seule fois (c'est à dire aa montre une)
  • si c'est répété deux fois, montre tous (c'est à dire aaa montre aaa)
  • si c'est répété 3 fois, il montre 6 (si aaaa il montre aaaaaa)
function unique_char(string) {
    var unique = '';
    var count = 0;
    for (var i = 0; i < string.length; i++) {
        for (var j = i+1; j < string.length; j++) {
            if (string[i] == string[j]) {
                count++;
                unique += string[i];
            }
        }
    }
    return unique;
}

document.write(unique_char('aaabbbccc'));

La fonction doit être avec boucle à l'intérieur d'une boucle; c'est pourquoi la deuxième for est à l'intérieur de la première.

Dans regexp vous pouvez écrire 'aaabbbccc'.replace(/(.)\1+/g, "$1")
quel doit être le résultat de unique_char('abracadabra') être?
le résultat devrait être abrcd
Comment ça? Il ne correspond pas à votre description. Btw, ce qui est le cas d'utilisation de ce (ou de devoirs)?

OriginalL'auteur Zlatko Soleniq | 2012-12-13