Этот вопрос уже имеет ответ здесь:
Как я могу автоматически заменить все экземпляры нескольких пробелов, с одиночным пробелом, в JavaScript?
Я попытался объединить некоторых в цепочку s.replace
но это не кажется оптимальным.
Я использую jQuery также, в случае, если это - встроенная функциональность.
Вы можете использовать регулярное выражение replace:
str = str.replace(/ +(?= )/g,'');
Credit: The above regex was taken from Regex to replace multiple spaces with single space
Есть много вариантов регулярных выражений, которые вы можете использовать для этого. Один из примеров, который будет работать хорошо:
str.replace( /\s\s+/g, ' ' )
См. Этот вопрос для полного обсуждения этой конкретной проблемы: Регулярное выражение для замены нескольких пробелов одним пробелом
Вы также можете заменить без регулярного выражения.
while(str.indexOf(' ')!=-1)str.replace(' ',' ');