You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
console.log(`built in palindrome: ${palindrome(str)}`);
// recursive solution for palindrome
// with some control of spaces and special caracters
constisPalindrome=(str)=>{
constcleanStr=str.replace(/[\W_]/g,'');
conststrLen=cleanStr.length;
if(strLen===0||strLen===1){
returntrue;
}
if(cleanStr[0]===cleanStr[strLen-1]){
returnisPalindrome(cleanStr.slice(1,strLen-1));
}
returnfalse;
};
console.log(isPalindrome('madam'));
console.log(isPalindrome('stack cats'));
console.log(isPalindrome('taco cat'));
console.log(isPalindrome('taco, c\'a\'t'));
// Lorem Ipsum
constloremIpsum=`Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque ultrices magna luctus dolor bibendum tristique. Quisque lobortis diam ut est porttitor finibus malesuada eu libero. Integer placerat interdum nisi, vel fermentum nulla fermentum semper. Quisque tortor tortor, placerat eget egestas at, bibendum ut lorem. Nam viverra libero eu eros pellentesque condimentum. Duis luctus dictum pellentesque. Etiam dignissim urna sed neque vestibulum, ut posuere eros lobortis. Phasellus placerat sodales lorem lacinia interdum. Maecenas ultrices tempor risus eu ultrices. Nunc consequat odio fringilla, consectetur risus id, rhoncus sem. Quisque a arcu vitae erat blandit facilisis. Aliquam sit amet neque eros. Pellentesque nec dui feugiat, mattis mauris eget, imperdiet nisl.
Nullam rutrum libero et est aliquam vulputate. In eget odio convallis ante dignissim feugiat. Nullam dignissim feugiat nisi et lacinia. Cras tincidunt massa a justo varius viverra. Cras id massa efficitur leo malesuada gravida non consequat elit. Vestibulum et augue a leo iaculis gravida. Quisque ex augue, iaculis nec rhoncus vel, elementum nec est. Suspendisse sit amet magna eget nisi tempus gravida.
Nam mollis neque maximus elit maximus egestas. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus sit amet iaculis dolor. Suspendisse elementum sit amet ex sit amet placerat. Duis efficitur, neque ut finibus congue, massa felis cursus massa, nec aliquet diam velit id massa. Aliquam et magna fringilla, molestie eros ac, elementum mi. Pellentesque a ligula vestibulum, semper diam nec, euismod felis. Mauris neque elit, maximus eget tortor ac, egestas gravida dolor. Donec sed elementum odio, ut sagittis nibh. Proin malesuada mattis lorem, quis tincidunt leo consequat a. Quisque maximus ut ex a venenatis. Sed quis augue mattis, pulvinar orci vel, eleifend lacus. Phasellus sed volutpat neque, at dapibus magna. Fusce augue ipsum, viverra id purus et, fringilla mollis sapien. Nam efficitur tortor sed quam maximus, nec malesuada lacus maximus. Sed sed convallis tortor, non rutrum nisi.`;
// wordcount
console.log(`the lorem ipsum paragraphs have ${loremIpsum.split(' ').length} words,`);
// wordcount regex approach
// we're looking only for characteres that has one or more ocurrences
// string.match() returns and array, containing the matches, one item for each match, or null if no match is found
console.log(`using regex the lorem ipsum paragraphs have ${loremIpsum.match(/\S+/g).length} words.`);
// 'et' occurrences
letetCount=0;
letloremArr=loremIpsum.split(' ');
for(letx=0;x<loremArr.length;x++){
if(loremArr[x]==='et'||loremArr[x]==='et,'){
etCount++;
}
}
console.log(`and ${etCount} 'et' occurrences.`);
// 'et' occurrences
// regex approach
console.log(`and ${loremIpsum.match(/\set[^A-Za-z]/g).length} 'et' occurrences with regex.`);