Ich war mit der ersten Frage hier herumspielen: Reduce duplicate characters to a desired minimum und bin auf der Suche nach eleganter Antworten als das, was ich gefunden habe. Er besteht den Test, ist aber neugierig auf andere Lösungen. Die Probentests sind:Reduzieren Sie doppelte Zeichen in einer Zeichenfolge auf ein bestimmtes Minimum
reduceString('aaaabbbb', 2) 'aabb'
reduceString('xaaabbbb', 2) 'xaabb'
reduceString('aaaabbbb', 1) 'ab'
reduceString('aaxxxaabbbb', 2) 'aaxxaabb'
und meine Lösung (das übergibt diese Tests):
reduceString = function(str, amount) {
var count = 0;
var result = '';
for (var i = 0; i < str.length; i++) {
if (str[i] === str[i+1]) {
count++;
if (count < amount) {
result += str[i];
}
} else {
count = 0;
result += str[i];
}
};
return result;
}
Vermutlich Sie wollen sequentielle wiederholte Zeichen, nicht nur wiederholt? – RobG
@RobG Yup basierend auf den Proben sieht es aus wie das ist, was sie getestet haben. – Rk220