проблема при реверсировании строки
у меня задача реверсировать строку без метода reverse, я не могу понять где у меня тут ошибка, я попытаюсь объяснить логику моего кода: в цикле я методом pop забираю его с str и методом join перемещаю в reversedStr, но что-то не получается
function reverse(str) {
let reversedStr = []
for (let i = 0; i < str.length; i++) {
reversedStr.push(str.split('').pop())
}
return reversedStr.join('')
}
console.log(reverse(''))
console.log(reverse('abcdef'))
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
А зачем так сложно? Если достаточно пробегаться с конца строки до начала, брать символы и их конкатенировать.
function reverse(str) {
let reversedStr = '';
for (let i = str.length - 1; i >= 0; i--) {
reversedStr += str[i];
}
return reversedStr;
}
console.log(reverse(''));
console.log(reverse('abcdef'));
function reverse(str) {
let reversedStr = '';
let strLength = str.length;
str.split('').forEach((char, index) => {
reversedStr += str[strLength - index - 1];
});
return reversedStr;
}
console.log(reverse(''));
console.log(reverse('abcdef'));
В новом исправленном вами вопросе - ответ будет таков:
function reverse(str) {
let reversedStr = []
let strSplitted = str.split('');
for (let i = 0; i < str.length; i++) {
reversedStr.push(strSplitted.pop())
}
return reversedStr.join('')
}
console.log(reverse(''))
console.log(reverse('abcdef'))