Не совсем уверен, есть ли лучшее решение, чем это. Но лучшее, что я мог придумать на данный момент
Алгоритм равен
- Найдите пробел
indexes
в данном string
- В обратном порядке
sting
- Добавьте пробел согласно
indexes got above
и замените любые дополнительные пробелы в string
function test(str) {
const mapping = {};
const pattern = /\s+/g;
while (match = pattern.exec(str)) {
mapping[match.index] = true;
}
return str.split('').reverse().reduce((acc, cur, index) => {
if(mapping[index]) acc += ' ';
acc += cur.replace(pattern, '');
return acc;
}, '');
}
// seca psht iwtx etemos
console.log(test('some text with spaces'))