Функция выравнивания строки на JavaScript

227
23 июня 2022, 16:10

Столкнулась с такой задачей, помогите пожалуйста!!

Написать функцию, входными параметрами которой являются: строка и целое число k.
Функция должна вернуть строку длиной k, представляющей собой выравнивание первой строки до длины k.
Выравнивание строки заключается в том, что между её отдельными словами дополнительно вносятся пробелы так, чтобы длина строки стала равной заданной длине, а последнее слово строки сдвинулось к её правому краю.

При решении, не использовать готовые строковые функции

Входные данные:

  • строка - любой набор символов, например: the sun is shining;
  • натуральное число, например: 21.

Словом, в этом случае, можно считать отрезок строки между двумя пробелами/после пробела (слово1 the, слово2 sun и т.д.)

Выходные данные - строка с нужным количеством пробелов: the__sun__is__shining.
Символ _, в данном случае, заменяет пробел.

У меня есть набросок функции:

function al(str,k){
        let sc='';
        let res='';
        for(let i=0; i<=k-str.length; i++){
            res+=sc
        }
        res+=str;
    }

Answer 1
function al(n, k) {
let x = 0
let p = ' '
t = n.split('')
for (let i = 0; i < k + 1; i++) {
    if (t.length == k) {
        n = t.join('')
        return n
    }
    if (t[i] == p) {
        t.splice(i + 1, 0, p)
        i = i + (1 + x)
    }
    if (i == k) {
        i = 0
        x++
    }
}

} console.log(al('the sun is shining', 50))

READ ALSO
React, проблема с обновлением состояния

React, проблема с обновлением состояния

Я пытаюсь создать кнопку которая будет перемешивать плейлист(массив объектов), а по второму клику возвращать не перемешанный плейлистПочему-то...

293
Относительный путь к другой странице

Относительный путь к другой странице

Встретился с такой проблемой - не могу верно указать путь до второй страницы,самый простой шаг(выйти из той папки, где лежит основная страница...

243
Помогите с валидацией

Помогите с валидацией

помогите пожалуйста с валидацией, не бейте ногами, не так давно начал заниматься вебом, не могу понять как мне проверить что форма полностью...

231
Фильтрация массива с датами

Фильтрация массива с датами

Как отфильтрировать или отсортировать массив дат, чтобы в результате были даты, у которых количество минут равно 15?

187