我需要编写一个首字母缩略词函数,它会产生我作为我的价值的首字母缩写词。我不能使用循环,但我可以使用map,reduce或filter以及join和split。我已经能够获得数组的首字母缩写,但这不是我应该做的。这在尝试获取其首字母缩写词的值时应该有效 - >首字母缩略词(我知道,对吧?)这转向" ikr。"
你不需要给我代码;我想知道我可以使用什么不是循环来使这段代码工作。
答案 0 :(得分:3)
另一种选择:
function acronym(str) {
return str.toLowerCase().match(/(\b[a-z])/g).join('')
}
尽管如此,.match
似乎不在允许的方法列表中
答案 1 :(得分:1)
function acronymn( str ) {
return str.split( /\b(?=[a-z])/ig ) // split on word boundaries
.map( token => token[0] ) // get first letter of each token
.join( '' ).toLowerCase() // convert to lowercase string
;
}
acronymn( 'I know, right?' ) === 'ikr' // true