📖 Scenario: You are working on a simple text analysis tool. You want to find out how many words in a list start with a certain prefix. This can help in searching or filtering words quickly.
🎯 Goal: Build a small program that counts how many words in a given list start with a specific prefix.
📋 What You'll Learn
Create an array of words with exact values
Create a variable to hold the prefix string
Use a loop to count how many words start with the prefix
Print the count as the final output
💡 Why This Matters
🌍 Real World
Counting words with a prefix is useful in search engines, autocomplete features, and filtering lists quickly.
💼 Career
This skill helps in text processing tasks common in software development, data analysis, and building user-friendly search tools.
Progress0 / 4 steps
1
Create the list of words
Create an array called words with these exact strings: "apple", "app", "application", "banana", "apricot"
DSA Javascript
Hint
Use square brackets [] to create an array and put the words inside quotes separated by commas.
2
Set the prefix to search
Create a variable called prefix and set it to the string "app"
DSA Javascript
Hint
Use const prefix = "app" to create the prefix variable.
3
Count words starting with the prefix
Create a variable called count and set it to 0. Then use a for loop with variable word to go through words. Inside the loop, if word.startsWith(prefix) is true, increase count by 1.
DSA Javascript
Hint
Use startsWith method to check the prefix and increase count inside the loop.
4
Print the count
Use console.log(count) to print the number of words starting with the prefix.
DSA Javascript
Hint
Use console.log(count) to show the result.
Practice
(1/5)
1. What does the function countWordsWithPrefix(words, prefix) do when given a list of words and a prefix?
easy
A. Counts how many words contain the prefix anywhere
B. Counts the total number of words in the list
C. Counts how many words end with the given prefix
D. Counts how many words start with the given prefix
Solution
Step 1: Understand the function purpose
The function checks each word to see if it starts with the given prefix.
Step 2: Count matching words
It counts only those words that begin exactly with the prefix, ignoring others.
Final Answer:
Counts how many words start with the given prefix -> Option D
Quick Check:
Starts with prefix = Count [OK]
Hint: Look for words starting exactly with prefix [OK]
Common Mistakes:
Counting words containing prefix anywhere
Counting words ending with prefix
Counting total words instead of filtered ones
2. Which of the following is the correct syntax to check if a string word starts with a prefix prefix in JavaScript?
easy
A. word.beginWith(prefix)
B. word.hasPrefix(prefix)
C. word.startsWith(prefix)
D. word.starts(prefix)
Solution
Step 1: Recall JavaScript string methods
JavaScript strings have a method called startsWith() to check prefix.
Step 2: Match method name
Only startsWith() is the correct method; others do not exist.
Final Answer:
word.startsWith(prefix) -> Option C
Quick Check:
Correct method name = startsWith [OK]
Hint: Use startsWith() method for prefix check [OK]
Common Mistakes:
Using non-existent methods like hasPrefix
Using incorrect method names like beginWith
Confusing startsWith with other string methods
3. What is the output of the following code?
const words = ['apple', 'app', 'application', 'banana'];
const prefix = 'app';
function countWordsWithPrefix(words, prefix) {
let count = 0;
for (const word of words) {
if (word.startsWith(prefix)) {
count++;
}
}
return count;
}
console.log(countWordsWithPrefix(words, prefix));
medium
A. 3
B. 2
C. 1
D. 4
Solution
Step 1: Check each word against prefix 'app'
'apple', 'app', and 'application' all start with 'app'. 'banana' does not.
Step 2: Count matching words
There are 3 words starting with 'app', so count is 3.
Final Answer:
3 -> Option A
Quick Check:
Words starting with 'app' = 3 [OK]
Hint: Count words starting exactly with prefix [OK]
Common Mistakes:
Counting words containing prefix anywhere
Missing one of the matching words
Counting all words regardless of prefix
4. The following code is intended to count words starting with a prefix, but it has a bug. What is the bug?
function countWordsWithPrefix(words, prefix) {
let count = 0;
for (let i = 0; i <= words.length; i++) {
if (words[i].startsWith(prefix)) {
count++;
}
}
return count;
}
medium
A. startsWith method is used incorrectly
B. Loop goes out of bounds causing an error
C. count variable is not initialized
D. Prefix is not passed as a parameter
Solution
Step 1: Analyze loop condition
The loop runs with i from 0 to words.length inclusive, but array indices go from 0 to words.length - 1.
Step 2: Identify out of bounds access
At i = words.length, words[i] is undefined, so calling startsWith causes an error.
Final Answer:
Loop goes out of bounds causing an error -> Option B
Quick Check:
Loop index must be less than length [OK]
Hint: Use i < words.length, not <= [OK]
Common Mistakes:
Using <= instead of < in loop condition
Not checking array bounds before access
Assuming startsWith works on undefined
5. Given the array words = ['Test', 'testing', 'Tester', 'tent', 'team'] and prefix 'te', which code snippet correctly counts words starting with the prefix ignoring case sensitivity?
hard
A. words.filter(w => w.toLowerCase().startsWith(prefix.toLowerCase())).length
B. words.filter(w => w.startsWith(prefix)).length
C. words.filter(w => w.includes(prefix)).length
D. words.filter(w => w.endsWith(prefix)).length
Solution
Step 1: Understand case sensitivity issue
Direct startsWith is case sensitive, so 'Test' and 'test' differ.
Step 2: Use toLowerCase() to normalize
Convert both word and prefix to lowercase before checking startsWith to ignore case.
Final Answer:
words.filter(w => w.toLowerCase().startsWith(prefix.toLowerCase())).length -> Option A
Quick Check:
Normalize case before prefix check [OK]
Hint: Convert both strings to lowercase before startsWith [OK]
Common Mistakes:
Ignoring case sensitivity
Using includes instead of startsWith
Using endsWith instead of startsWith
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.