我需要找到一个空白空间来创建首字母缩略词,第一个字母有问题,其余的更容易..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 回答

慕运维8079593
TA贡献1876条经验 获得超5个赞
按空格分割,将每个单词映射到它的第一个字符,然后加入:
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 + 1th 个字符word:
const p = "Tim Hortans Returant";
let word = p[0];
for (let i = 0; i < p.length; i++) {
if (p[i] === ' ') {
word += p[i + 1];
}
}
console.log(word);
添加回答
举报
0/150
提交
取消