gpt4 book ai didi

javascript - 如何在 JavaScript 中制作缩写/首字母缩略词?

转载 作者:行者123 更新时间:2023-12-05 01:51:22 24 4
gpt4 key购买 nike

编码新手 '我爱你' -> 'ily'。我尝试过以多种方式重写代码,但 console.log 只显示第一个给定单词的第一个字母。

function makeAbbr(words) {
let abbrev = words[0];
let after = 0;
let i = 0;
for (const letter of words) {
if (letter === '') {
i = words.indexOf('', after);
abbrev += words[i + 1];
}
after++;
}
return abbrev;
}
const words = 'a bc def';
let result = makeAbbr(words);
console.log(result)

最佳答案

不使用数组。但您确实应该了解它们。

  1. 首先 trim 前导和尾随空格。
  2. 将第一个字符添加到您的首字母缩略词。
  3. 循环遍历字符串的其余部分,如果前一个字符是空格(而当前字符不是),则将当前字符添加到首字母缩略词。

function makeAbbr(words) {
words = words.trim();
const length = words.length;
let acronym = words[0];

for(let i = 1; i < length; i++) {
if(words[i - 1] === ' ' && words[i] !== ' ') {
acronym += words[i];
}
}

return acronym;
}
console.log(makeAbbr('I love you'));
console.log(makeAbbr('I love you'));
console.log(makeAbbr(' I love you '));


这是 GottZ 的版本

function w(char) {
char = char.toLocaleLowerCase();
const coll = Intl.Collator('en');
const cmpA = coll.compare(char, 'a');
const cmpZ = coll.compare(char, 'z');

return cmpA >= 0 && cmpZ <= 0;
}

function makeAbbr(words) {
words = words.trim();
const length = words.length;
if(!length) return '';

let acronym = words[0];

for(let i = 1; i < length; i++) {
if(!w(words[i - 1]) && w(words[i])) {
acronym += words[i];
}
}

return acronym;
}
console.log(makeAbbr('I love you'));
console.log(makeAbbr('I love you'));
console.log(makeAbbr(' I love you '));
console.log(makeAbbr(' \tI ... ! love \n\r .you '));
console.log(makeAbbr(' \tI ... ! Löve \n\r .ÿou '));

关于javascript - 如何在 JavaScript 中制作缩写/首字母缩略词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72290810/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com