leni_m
@leni_m
ЧупаКобрус

Как вставить пробелы в строку?

Есть строка из 11-ти символов, в качестве символа обозначу "0". Получаем "00000000000".
Подскажите, как вставить в эту строку пробелы, чтобы получилось "0 00 000 00 00 0"?
  • Вопрос задан
  • 84 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const insert = (str, ch, indices) => Array
  .from(str)
  .reduce((acc, n, i) => acc + (indices.includes(i) ? ch : '') + n, '');

// или

const insert = (str, ch, indices) => [...indices]
  .sort((a, b) => b - a)
  .reduce((acc, n) => (acc.splice(n, 0, ch), acc), [...str])
  .join('');

// или

const insert = (str, ch, indices) => []
  .concat(0, indices)
  .sort((a, b) => a - b)
  .map((n, i, a) => str.slice(n, a[i + 1]))
  .join(ch);

// или

const insert = (str, ch, indices) => indices
  .slice()
  .sort((a, b) => b - a)
  .reduce((acc, n) => acc.replace(RegExp(`(?<=.{${n}})`), ch), str);


str = insert(str, ' ', [ 1, 3, 6, 8, 10 ]);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы