javascript上没有循环的首字母缩略词函数
我需要编写一个首字母缩略词函数,该函数可以生成我输入的值的首字母缩略词。我不能使用循环,但我可以使用映射、减少或过滤以及连接和拆分。我已经能够得到数组的首字母缩写,但这不是我应该做的。当尝试获取某个值的首字母缩写-->首字母缩写(我知道,对吧?)时,应该可以这样做。这会变成“ikr” 你不需要给我密码;我想知道我可以使用什么,这不是一个循环,让这个代码工作 另一种选择:javascript上没有循环的首字母缩略词函数,javascript,Javascript,我需要编写一个首字母缩略词函数,该函数可以生成我输入的值的首字母缩略词。我不能使用循环,但我可以使用映射、减少或过滤以及连接和拆分。我已经能够得到数组的首字母缩写,但这不是我应该做的。当尝试获取某个值的首字母缩写-->首字母缩写(我知道,对吧?)时,应该可以这样做。这会变成“ikr” 你不需要给我密码;我想知道我可以使用什么,这不是一个循环,让这个代码工作 另一种选择: function acronymn( str ) { return str.split( /\b(?=[a-z])/i
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
function acronym(str) {
return str.toLowerCase().match(/(\b[a-z])/g).join('')
}
但是,.match
似乎不在允许的方法列表中另一种选择:
function acronym(str) {
return str.toLowerCase().match(/(\b[a-z])/g).join('')
}
虽然,
.match
似乎不在允许的方法列表中注意:/\b(?=[a-z])/ig
适用于像'I know,right?'这样的文本
注意:/\b(?=[a-z])/ig适用于像'I know,right?'这样的文本
提示:使用.split()
然后.map()
然后.join()
,或.split()
然后.reduce()
。但是map
内部是一个循环。是否允许使用regexp?单词总是用空格隔开吗?我不允许这样做。当我写我不能使用循环时,我的意思是指“for,while,etc.”。提示:使用.split()
然后.map()
然后.join()
,或者.split()
然后.reduce()
。但是映射
内部是一个循环。允许使用regexps吗?单词总是用空格隔开吗?我不允许这样做。当我写我不能使用循环时,我的意思是指“for,while,etc.”。