Javascript 尝试比较数组并使用if-else语句对其进行切片
Pig拉丁赋值:代码应该将元音数组与用户输入的单词进行比较,然后根据元音在单词中的位置对单词进行切片。当前可用于某些单词,但无法用于某些单词。在“狗”上失败 我的第二个JS项目。我知道我必须比较两个数组,所以我尝试在嵌套for循环中将它们相互比较,但我认为这会导致问题。不确定为什么Javascript 尝试比较数组并使用if-else语句对其进行切片,javascript,Javascript,Pig拉丁赋值:代码应该将元音数组与用户输入的单词进行比较,然后根据元音在单词中的位置对单词进行切片。当前可用于某些单词,但无法用于某些单词。在“狗”上失败 我的第二个JS项目。我知道我必须比较两个数组,所以我尝试在嵌套for循环中将它们相互比较,但我认为这会导致问题。不确定为什么 const vowels = ["a", "e", "i", "o", "u"]; const splitWord = word .toLowerCase() .trim() .spl
const vowels = ["a", "e", "i", "o", "u"];
const splitWord = word
.toLowerCase()
.trim()
.split("");
// Slice Word at first Vowel to end
function firstPart(param1, param2) {
for (let v = 0; v < vowels.length; v++) {
for (let w = 0; w < splitWord.length; w++) {
if (vowels[w] === splitWord[v]) {
return `${splitWord.slice(v, splitWord.length).join("")}`;
} else if (splitWord.length === 1) {
return `${""}`;
}
}
}
}
return firstPart(vowels, splitWord);
常量元音=[“a”、“e”、“i”、“o”、“u”];
常量splitWord=word
.toLowerCase()
.trim()
.拆分(“”);
//将单词从第一个元音切到最后
函数第一部分(参数1、参数2){
for(设v=0;v<元音。长度;v++){
for(设w=0;w“dog”返回undefined而不是“og”试试这个,它会找到一些元音的最小索引,并从中切片 常量元音=[“a”、“e”、“i”、“o”、“u”]; const word=“complex”.toLowerCase().trim(); 设minIndex=splitWord.length-1; for(让元音中的元音){ let position=单词indexOf(元音); 如果(位置!=-1&&position
fromVowel('complex');
fromVowel('dog');
function fromVowel(word1) {
var regex = /[aeiou]/g;
var found = word1.search(regex);
console.log('Index of the first vowel', found);
console.log(word1.substr(found, word1.length));
}
在这个片段中,首先
trim()
字符串和循环字符串以检查元音的第一次出现,如果找到,则断开循环并选择第一次出现的索引。然后通过substr()
const元音={
a:“a”,
e:“e”,
我:“我”,
o:“o”,
u:“u”
};
函数get元音(str){
让string=str.trim();
设index=null;
对于(设i=0;i<
字符串长度;i+=1){
常数st=字符串[i];
if(元音[st.toLowerCase()]){
指数=i;
打破
}
}
string=str.substr(索引,
str(长度);
返回字符串;
}
log(get元音('dog'));
log(get元音('dOg'));
log(get元音('vpnserver');
console.log(get元音('vpnsErver');
您没有在btwi认为在返回第一部分(元音,splitWord);
中的任何地方使用参数;我正在将这些参数传递到参数中。这不是真的吗?我不确定是否正确理解您的目标,但在这里使用正则表达式可能会有所帮助:word.match(/[aeiou].*/)[0]
@kiro检查我的答案,应该对你没问题