查找空白空间以创建首字母缩写词的问题:嵌套循环

时间:2019-06-14 10:39:17

标签: javascript

我需要找到一个空白空间来创建首字母缩写词,第一个字母有问题,其余的要容易得多。

let word = "";
let p = "Tim Hortans Returant"


for (let i=0 ; i<p.length; i++){
    
    if (p.charAt(i) != " "){
        word+= i ; 
        }
        if(p.charAt(i) === " "){
            word+= p.charAt(i+1) 
            console.log(word)
    }
}

1 个答案:

答案 0 :(得分:1)

由空格分隔,将每个单词映射到其第一个字符,然后加入:

const p = "Tim Hortans Returant"
const word = p
  .split(' ')
  .map(word => word[0])
  .join('');
console.log(word);

或者,也许更有效地使用正则表达式捕获每个单词的第一个字符,匹配其余单词,并替换为捕获的字符:

const p = "Tim Hortans Returant"
const word = p
  .replace(/(\S)\S* */g, '$1');
console.log(word);

如果必须使用for循环(不建议使用,它需要冗长且混乱的代码),请将第i + 1个字符添加到{{1} },当找到空格时:

word