Как убрать пробел в конце строки?
Мне нужно чтобы переменная text выдавала в конце строку:
'22 32 4242 2 242 424 2 2'
а она выдает такую же, но с пробелом в конце:
'22 32 4242 2 242 424 2 2 '
пожалуйста подскажите как можно обойти эту неприятную ситуацию.
function alphabetPosition(text) {
let tes = text.split('');
let arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
text ='' ;
for(let p = 0;p < tes.length; p++){
for(let i = 0; i < arr.length;i++){
if(tes[p].toLowerCase() === arr[i].toLowerCase()){
text = `${text}${i+1} `;
}
}
}
return text;
}
console.log('::' + alphabetPosition('Lorem ipsum dolor sit amet') + '::')
console.log('::' + alphabetPosition('consectetur adipiscing elit') + '::')
Ответы (2 шт):
Автор решения: Vasily
→ Ссылка
Для того что бы убрать лишний пробел только в конце строки можно воспользоваться новым методом trimEnd():
const string = "22 32 4242 2 242 424 2 2 "
const result = string.trimEnd()
console.log(result)
// "22 32 4242 2 242 424 2 2"
или же задействовать обычный trim(), который очистит строку от пробелов с двух сторон (в начале и конце):
const string = " 22 32 4242 2 242 424 2 2 "
const result = string.trim()
console.log(result)
// "22 32 4242 2 242 424 2 2"
Т.е в Вашем случае достаточно:
function alphabetPosition(text) {
// ... код функции
return text.trimEnd()
}
Автор решения: Qwertiy
→ Ссылка
Используй join вместо конкатенации руками.
function alphabetPosition(text) {
let arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
return text.split("").flatMap(ch => {
var i = arr.indexOf(ch.toLowerCase())
return i === -1 ? [] : i
}).join(" ")
}
console.log('::' + alphabetPosition('Lorem ipsum dolor sit amet') + '::')
console.log('::' + alphabetPosition('consectetur adipiscing elit') + '::')