我正在编写一个函数来将名称转换为首字母缩写。这个函数 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)
我用硬编码解决了这个问题,我的方法是对的吗?或者会更好!
为此使用正则表达式:
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.RRun Code Online (Sandbox Code Playgroud)