AntonBrock
@AntonBrock
screen light

Как получить инициалы из строки с именем и фамилией?

Приходит массив с данными, там есть имя, хотел чтобы по имени получались инициалы, но тут понял, что не знаю даже как это сделать.

Начал делать 2 решения проблема. Первая возвращает правильно ( фамилию - первым идет) , а имя получить не могу..
Вторая функция просто обрезает и дает мне имя и фамилию, дайте подзатыльник плж!

let firstName;
    let secondName;
    firstName = this.getIncoming[0].name.split(' ', 1) 
    
    secondName = this.getIncoming[0].name.replace(/([A-Z][\w-]+(?: +[A-Z][\w-]+)*) +([A-Z][\w-]+)\b/g, ($0, $1, $2) => {
    return $2 + " " + $1.replace(/\b([A-Z])\w+ */g, '$1');
})
    console.log(firstName)
    console.log(secondName)
  • Вопрос задан
  • 6700 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Получить первый символ строки: substring(0, 1) – с какого (0) по какой (1).

function initials(str) {
  return str.split(/\s+/).map((w,i) => i ? w.substring(0,1).toUpperCase() + '.' : w).join(' ');
}

initials('Невзубногой иван нилыч');  //  Невзубногой И. Н.
initials('Держиморда Потап Игнатьич'); // Держиморда П. И.
initials('кто есть who?'); // кто Е. W.

Разбили строку в массив по пробелам, если первое слово (index===0) остаётся как есть, у остальных слов взяли первый символ, сделали его заглавным на всякий, приписали точку, склеили массив обратно в строку через пробел.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы