The totalVowels count is stuck and not changing

My function seems to be having trouble updating the totalVowels variable. Currently, I'm splitting the argument into an array, iterating through it, and incrementing totalVowels when there's a match with my vowel regex pattern.

I've tried tweaking different parts of the code to fix this issue, but so far, no luck. It feels like the solution is within reach, but I can't seem to figure it out at the moment.

    function VowelCount(str) {
     let strArr = str.split('');
     let totalVowels  = 0;
     let vowel = /a|e|i|o|u/gi
     for (let i = 0; i < strArr.length; i++) {
        if (strArr[i] === vowel) { totalVowels++ }
     }
     return totalVowels;
    }
    
    console.log(VowelCount('vowel'));

Answer №1

Consider using the .match() method instead of directly comparing strArr[i] === vowel in your if statement when dealing with regex patterns:

function CountVowels(str) {
  let strArr = str.split('');
  let totalVowels = 0;
  let vowelPattern = /a|e|i|o|u/gi
  for (let i = 0; i < strArr.length; i++) {
    if (strArr[i].match(vowelPattern)) {
      totalVowels++
    }
  }
  return totalVowels;
}

console.log(CountVowels('hello there'));

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Converting an Angular JSON encoded array to PHP format

I need to send a JS array to the server in this format: "['id' => ['users'=>[] ]]" In my Angular code, I have an id: var id = '3534534543535'; How can I convert my id to the expected PHP format? ...

Why is the response undefined when I resize an image twice using a JavaScript promise chain?

When I attempt to resize an image using the sharp library twice in my route handler, the result returned is undefined. Despite the resized images being displayed, it seems that calling image.resize and .toBuffer() multiple times is causing corruption in th ...

Why is my Angular form submitting twice?

Currently, I am working on a user registration form using AngularJS with ng-submit and ng-model. However, I am facing an issue where the form triggers submission twice when the user submits it. I have checked for common causes such as declaring the contro ...

Revamp the Side Navigation Feature to Identify the Currently Viewed Section of the Page

My website currently features a side navigation bar that dynamically updates based on the user's scroll position. When the user reaches a specific height, a class is added to a div in the sidebar, turning it orange and indicating which part of the pag ...

Spend three minutes on the page with the help of AJAX

Can a page be requested using AJAX and remain on that page for approximately 3 minutes before the ajax function returns, allowing for dynamic content to fully load? ...

Can a variable be assigned based on the current route being accessed?

Currently, I am using a sidenav component with the following structure: <MenuItems> <NavLink to="/contacts/new">New</NavLink> <NavLink to="/contacts/list">New (all)</NavLink> <NavLink to="/con ...

What is the best way to create curved text using HTML 5 Canvas?

Looking to create a canvas graphic similar to this flash animation: I have already drawn six arcs and now I need suggestions for writing six words within these arcs. Any creative ideas? ...

Retrieve the chosen item along with its quantity

I'm currently working on building a shopping cart application similar to this example using React.js. index.js: (Sending each product to the product component) {products.length > 0 ? products.map((product) => ( <Produ ...

Obtain a postal code based on latitude and longitude coordinates

I possess latitude and longitude coordinates and I am interested in sending them through an HTTP request to a service such as Google Maps in order to obtain a postcode for the United Kingdom. Can this be achieved? ...

Executing Code Upon Module Load and Presenting It as Middleware

I am currently delving into the intricacies of how exporting and importing modules function in Nodejs. One of my tasks involves using a specific file to seed a mongodb database. Surprisingly, this file operates flawlessly and delivers the desired results ...

Image caption dynamically updated to match thumbnail caption using jQuery upon click event

My goal is to dynamically load the data-caption of thumbnail images when clicked, and then update the main image's data-caption when the main image is changed with a thumb image. I am currently struggling to make the data-caption update along with the ...

employ the value of one array in a different array

Currently, I am working with an array (const second) that is being used in a select element to display numbers as dropdown options {option.target}. My question is: Is there a way to check within this map (that I'm using) if the 'target' from ...

What is the function of this program created with three.js?

I've been searching through various resources but I couldn't find any information on this new capsule. Although I understand the basics - that it creates a new capsule - I'm still unsure about the specific inputs required for it. Could someo ...

Tips for preventing duplicate triggering of a broadcast event from app.js in AngularJS

Within the app.js file, I am utilizing a callback function that broadcasts on the $rootScope to trigger a method in the second controller. function onSuccess(state) { if (state != true) { } else { $rootScope.$broadcast(&a ...

AngularJS - dynamically displaying updated content based on dropdown selection

I have implemented two dropdown lists using the select tag. I want to dynamically update the options in the second dropdown based on the selection from the first dropdown, and then display relevant information underneath based on the selection from the sec ...

I am looking to understand how to execute basic PHP scripts using jQuery/AJAX

Due to the size of my actual example being too large, I have created a brief version: example1.php <!DOCTYPE html> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> <!--jQuery--> <body&g ...

Using Three.js to spin a mesh in the direction of a sphere

As a newcomer to Three js, I've been grappling with a challenge lately. My 3D model is currently facing a specific direction, surrounded by a sphere. Before I move the mesh, I want to animate its rotation so that it aligns with the specified sphere. ...

What is the process for rotating an object 90 degrees on the global x-axis?

I have the need to precisely adjust the rotation of an object along the world axis by a specific angle. At the moment, I am utilizing the rotateAroundWorldAxis function (which I came across in another discussion) in my attempts to accomplish this. functio ...

Retrieve Javascript-Rendered Page via PHP

As I work on developing an application using AngularJS, everything seems to be going smoothly until I run into a major obstacle: SEO. After researching extensively, I discovered that getting AJAX content crawled and indexed by search engine bots like Goog ...

Close ui-bootstrap typeahead menu only when a row is manually chosen

I have set up this jsBin to show the problem I am facing. When you visit the link and try to type "Five," the expected behavior would be to type "Five" and then press tab. However, in this case, you need to type "Five" and then either escape or click outsi ...