在 JavaScript 中缩写两个单词的名称

Mom*_*min 5 javascript

我正在编写一个函数来将名称转换为首字母缩写。这个函数 return 严格需要两个单词,它们之间有一个空格。

输出应该是两个大写字母,用一个点分隔它们。

应该是这样的:

alex cross => A.C

jaber ali => J.A

这是我的解决方案

function initialName(firstLetterFirstName, firstLetterLastName) {
    'use strict'
    let x = firstLetterFirstName.charAt(0).toUpperCase();
    let y = firstLetterLastName.charAt(0).toUpperCase();
    return x + '.' + y;
}

console.log(initialName('momin', 'riyadh'));  // M.R
Run Code Online (Sandbox Code Playgroud)

我用硬编码解决了这个问题,我的方法是对的吗?或者会更好!

Jus*_*nas 6

为此使用正则表达式:

function initialName(words) {
    'use strict'
    
    return words
        .replace(/\b(\w)\w+/g, '$1.')
        .replace(/\s/g, '')
        .replace(/\.$/, '')
        .toUpperCase();
}

console.log(initialName('momin riyadh'));  // M.R
console.log(initialName('momin riyadh ralph')); // M.R.R
Run Code Online (Sandbox Code Playgroud)