gpt4 book ai didi

javascript - FCC 中间算法脚本 : Pig Latin

转载 作者:行者123 更新时间:2023-11-30 09:19:58 25 4
gpt4 key购买 nike

此测试目标是获取英语单词的第一个辅音(或辅音群),将其移动到单词的末尾并添加后缀“ay”。如果单词以元音开头,您只需在末尾添加“way”。

我的主要问题是遍历字符串直到它到达元音并将第一个辅音字母放在字符串的末尾。

我在遍历字符串直到遇到元音时遇到问题。你如何迭代一个字符串直到它在第一个元音处停止?你如何在到达元音之前获得所有第一个辅音字母?我使用 for 循环迭代字符串,如果第一个字母是辅音,我使用“if”语句。

function translatePigLatin(str) {
var vowel = /[aeiou]/g;
var cons = /[^aeiou]/g;
console.log(cons.test(str[2]))
var consonants = [];
var index = str.charAt(0);

console.log(str.slice(1, str.length))
for(var i = 0; i < str.length; i++){
console.log(str[i])
if(cons.test(str[i])){
consonants.push(str.charAt(i));
console.log(consonants)
var slice = str.slice(consonants.length, str.length);
}
}
return consonants + 'ay';
}

translatePigLatin("手套");

最佳答案

我会专注于找到第一个元音的索引。然后您可以测试该索引是 0 还是其他。如果它为零,只需添加 way 否则在该索引上切片:

function translatePigLatin(str) {
const vowels = ['a', 'e', 'i', 'o', 'u'];
let ind = [...str.toLowerCase()].findIndex(s => vowels.includes(s))
return ind
? str.slice(ind) + str.slice(0, ind) + 'ay' // doesn't start with vowel
: str + 'way'
}

console.log(translatePigLatin('glove'))
console.log(translatePigLatin('apple'))
console.log(translatePigLatin('Mark'))
console.log(translatePigLatin('Javascript'))

我不确定对于像 rhythm 这样没有元音的单词的边缘情况,pig latin 规则是什么。

关于javascript - FCC 中间算法脚本 : Pig Latin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52373445/

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