w3resource

JavaScript: Count the occurrences of a value in an array

JavaScript fundamental (ES6 Syntax): Exercise-70 with Solution

Write a JavaScript program to count the occurrences of a value in an array.

  • Use Array.prototype.reduce() to increment a counter each time the specific value is encountered inside the array.

Sample Solution:

JavaScript Code:

//#Source https://bit.ly/2neWfJ2 
const countOccurrences = (arr, val) => arr.reduce((a, v) => (v === val ? a + 1 : a), 0);
console.log(countOccurrences([1, 1, 2, 1, 2, 3], 1));
console.log(countOccurrences([1, 1, 2, 1, 2, 3], 2));
console.log(countOccurrences([1, 1, 2, 1, 2, 3], 3));

Sample Output:

3
2
1

Pictorial Presentation:

JavaScript Fundamental: Count the occurrences of a value in an array
JavaScript Fundamental: Count the occurrences of a value in an array

Flowchart:

flowchart: Count the occurrences of a value in an array

Live Demo:

See the Pen javascript-basic-exercise-70-1 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus

Previous: Write a JavaScript program to group the elements of an array based on the given function and returns the count of elements in each group.
Next: Write a JavaScript program to create a deep clone of an object.

What is the difficulty level of this exercise?



JavaScript: Tips of the Day

arrow function

const user = {
	email: "[email protected]",
	updateEmail: email => {
		this.email = email
	}
}

user.updateEmail("[email protected]")
console.log(user.email)

The updateEmail function is an arrow function, and is not bound to the user object. This means that the this keyword is not referring to the user object, but refers to the global scope in this case. The value of email within the user object does not get updated. When logging the value of user.email, the original value of [email protected] gets returned.

Ref: https://bit.ly/2IUFeTa