. Day 2 - Challenge 3 - Counting Vowels in string Skip to main content

Day 2 - Challenge 3 - Counting Vowels in string

Counting Vowels in JavaScript: A Simple Problem

Are you ready to dive into a classic programming challenge? In this blog post, we'll explore a simple yet fundamental problem: counting the number of vowels in a given string using JavaScript. Whether you're new to programming or looking to refresh your skills, this problem is a great exercise to enhance your understanding of string manipulation, loops, and arrays. So, let's get started!

The Problem

Our task is to write a JavaScript program that takes a string as input and returns the count of vowels present in that string. Vowels are the letters 'a', 'e', 'i', 'o', and 'u', regardless of their case. This means that both uppercase and lowercase vowels should be considered when counting.

The Approach

To solve this problem, we can break it down into a few simple steps:

  1. Convert to Lowercase: To ensure that we count both uppercase and lowercase vowels, we should first convert the entire input string to lowercase. This way, we can work with a standardized format.

  2. Define the Vowels: Create an array that contains the vowel characters ('a', 'e', 'i', 'o', 'u'). This array will help us check whether a given character is a vowel or not.

  3. Loop Through the String: Use a loop to iterate through each character of the lowercase string.

  4. Count Vowels: Inside the loop, check if the current character exists in the vowel array. If it does, increment a counter variable to keep track of the number of vowels encountered.

  5. Return the Count: After looping through the entire string, return the final count of vowels.

The JavaScript Code

Let's take a look at the JavaScript code that implements the solution:


function countVowels(str) {
  const lowerStr = str.toLowerCase();
  const vowels = ['a', 'e', 'i', 'o', 'u'];
  let vowelCount = 0;
  
  for (let char of lowerStr) {
    if (vowels.includes(char)) {
      vowelCount++;
    }
  }
  
  return vowelCount;
}

// Example usage
const inputString = "Hello, how are you?";
const numVowels = countVowels(inputString);
console.log(`Number of vowels: ${numVowels}`);


This program defines a function called countVowels that takes a string as input and returns the count of vowels in the string. It converts the input string to lowercase to handle both uppercase and lowercase vowels. Then, it loops through each character in the string and checks if the character is a vowel using the includes method on the vowels array. If the character is a vowel, the vowelCount is incremented. Finally, the function returns the total count of vowels.

Demo

Vowel Counter

Number of vowels: 0


Testing the Solution

You can test the program with various input strings, both simple and complex. Try inputting sentences, phrases, or even paragraphs to see how the program accurately counts the vowels each time.

Conclusion

Congratulations! You've successfully tackled the "Vowel Counter" problem using JavaScript. This exercise not only helped you practice string manipulation and array usage but also encouraged you to think logically and break down a problem into manageable steps. As you continue your programming journey, remember that even seemingly simple challenges like this one play a vital role in strengthening your coding skills.

Now write the program to count vowel in your language in comments.

Complete Other Challenges: 

  1. Day 1 Challenges
  2. Day 2 Challenge 1
  3. Day 2 Challenge 2
     

Comments

Popular posts from this blog

Create app in phonegap in windows

Phonegap (Cordova) is a tool that allows creating native mobile app using HTML, CSS and Javascript. This article shows you, how to create application and deploy them to various native mobile platforms using the cordova command-line interface (CLI). Install Cordova using CLI Follow these steps to install: Download and install Node.js . Following installation, you should be able to invoke node and npm on your command line. Install the cordova module using npm utility of Node.js. The cordova module will automatically be downloaded by the npm utility.   $ npm install -g cordova Create APP: Go to the directory where you maintain your source code, and run a command such as the following: using command. Create hello app: $ cordova create hello com.example.hello HelloWorld This command will create a folder ‘HelloWorld’. All subsequent commands need to be run within the project's directory, or any subdirectories. So go to in this folder ‘cd HelloWorld’. Add the pl...

Connecting to Socket in React Native app

Connecting to a socket in a React Native app requires the use of a socket library that supports React Native. One popular library is socket.io-client . Here are the steps to connect to a socket using socket.io-client in a React Native app: Install socket.io-client by running the following command in your project directory: npm install socket.io-client 2. Import the library in your code: import io from 'socket.io-client'; 3. Create a socket instance by calling the io function and passing in the URL of the socket server: const socket = io('http://example.com'); Replace http://example.com with the URL of your socket server. 4. Add event listeners to the socket instance to handle incoming events: socket.on('connect', () => { console.log('Connected to socket server'); }); socket.on('event', (data) => { console.log('Received data:', data); }); Replace event with the name ...

Know about the Web Socket and setup WebSocket in Javascript HTML page

  WebSockets is a protocol for providing full-duplex communication channels over a single TCP connection. It allows for real-time, two-way communication between a client and a server, which makes it ideal for web applications that require continuous updates from the server or that need to send frequent updates to the server. Here are some basic information about WebSockets: WebSockets are designed to work over a single TCP connection, which means that they are more efficient than other protocols like HTTP that require multiple connections for each request/response cycle. WebSockets use a persistent connection between the client and server, which allows for real-time communication without the need for frequent polling or long-polling requests. The WebSocket protocol uses a message-based model for sending and receiving data, which means that data is transmitted as a stream of messages rather than a series of HTTP requests and responses. WebSockets support binary data transmission, wh...