Hello. Does not work my code. For some reason variable END equals a number. although it should represent an array.
Help me.
function translatePigLatin(str) {
var vowel = ["a", "e", "i", "o", "u", "y"];
var strOne= str.split('');
for (var i=0; i< vowel.length; i++) {
for (var a=0; a<strOne.length; a++){
if (vowel[i] == strOne[a])
{
strOne.push("way");
}
else { strOne.slice(0, strOne.indexOf(strOne[a])).push(“way”)
}
break;
}}
return str = strOne.join('');
}
translatePigLatin("consonant");
Hi,
I am wondering whether you are aware that here
end = strOne.push("way");
end will equal the length of
StrOne.push("way")
add to the end of the array element “way”;
egglearn:
StrOne.push(“way”)
The push()
method adds one or more elements to the end of an array and returns the new length of the array.
Thank you!
I do not understand, why it doesn’t work with consonats?
Alex121618:
function translatePigLatin(str) {
var vowel = ["a", "e", "i", "o", "u", "y"];
var strOne= str.split('');
for (var i=0; i< vowel.length; i++) {
for (var a=0; a<strOne.length; a++){
if (vowel[i] == strOne[a])
{
strOne.push("way");
}
else { strOne.slice(0, strOne.indexOf(strOne[a])).push(“way”)
}
break;
}}
return str = strOne.join('');
}
translatePigLatin("consonant");
This string
else { strOne.slice(0, strOne.indexOf(strOne[a])).push(“way”)
}
ILM
April 4, 2020, 1:52pm
6
Alex121618:
var vowel = ["a", "e", "i", "o", "u", "y"];
You need to remove y
from this array, it is not a vowel (in this case and for english language)
I fixed it.
Why this string doesn’t work?
else { strOne.slice(0, strOne.indexOf(strOne[a])).push(“way”)
}
a little fixed
For vowel it work, for consonante it doesn’t work.
ILM
April 5, 2020, 4:13pm
8
I don’t understand what you want to do in that part
I mean, you have a loop that you break after first iteration
you overwrite end
at each iteration
you never change strOne
but return it… (this is why nothing pass, you never change strOne
, but look at your return statement)
Thank you!
I found another error. I will fix it.