Как сделать аббревиатуру в Javascript
function isLetter(c) {
return c.toLowerCase() !== c.toUpperCase()
}
function getAbbreviation(str) {
return
}
console.log(getAbbreviation('some company name')) // ===> SCN
Должна быть проверка, чтобы в тексте были только буквы (уже есть функция isLetter()) Должна быть проверка, чтобы слово было не меньше 3 букв
Ответы (3 шт):
Автор решения: Nannik
→ Ссылка
При входе строки с не подходящим словом "вылетает" ошибка. Поэтому обромляем в try/catch. Проверка слова происходит при помощи регулярного выражения
const getAbbreviation = (str) => {
return str.split(" ").map(e => {
if ( (/^.{0,3}$|\d/).test(e) ) throw new Error("invalid word"); // Проверка слова
return e[0].toUpperCase();
}).join("");
}
try {
console.log(getAbbreviation("some company name"));
} catch (e) {
console.log(e.message);
}
Автор решения: Listopad02
→ Ссылка
Насколько я понял, вам нужно что-то вроде такой реализации:
function isLetter(str) {
const regExp = /[0-9]/
if (!regExp.test(str) && str.length >= 3) {
return str
}
}
function getAbbreviation(str) {
if (isLetter(str)) {
return str.split(/\s+/).map(word => word[0].toUpperCase()).join('')
} else {
return 'Bad name'
}
}
console.log(getAbbreviation('some company name')) // SCN
console.log(getAbbreviation('other interesting name')) // OIN
console.log(getAbbreviation('1 2 3')) // Bad name
P.S. присоединяюсь к комментариям выше, вопрос непонятен и большую его часть я делал по собственным домыслам, старайтесь, пожалуйста, описывать вопрос конкретнее
Автор решения: Jean-Claude
→ Ссылка
Мой вариант:
let text = 'some company name';
let abbr = text.replace(/\b(.+?)\b\s?/g, (m) => m[0].toUpperCase());
console.log(abbr);