Как сделать аббревиатуру в 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);

→ Ссылка