- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
JavaScript Program to Find closest number in array
We will write a JavaScript program to find the closest number in an array by comparing each element with the target number and keeping track of the closest one. The program will use a loop to go through each element in the array and use a conditional statement to compare the difference between the target number and the current element. If the difference is smaller than the current closest difference, we will update the closest number. The result of this program will be the closest number to the target in the given array.
Approach
This program finds the closest number to a target value in an array of numbers −
Define a variable to store the difference between the target value and the current value in the loop.
Set the difference to a very high number, so that any number in the array will be smaller and become the new closest number.
Loop through the array of numbers, and for each number, calculate the absolute difference between the target value and the current number.
If the current difference is smaller than the stored difference, update the stored difference to the current difference and store the current number as the closest number.
Repeat the process for all numbers in the array.
After the loop, the closest number to the target value is the number stored in the variable.
Example
Here is an example of a JavaScript function that takes an array of numbers and a target number as input and returns the closest number in the array to the target number −
function findClosest(numbers, target) { let closest = numbers[0]; // Assume the first number is the closest let closestDiff = Math.abs(target - closest); // Calculate the difference between the target and closest for (let i = 1; i < numbers.length; i++) { let current = numbers[i]; let currentDiff = Math.abs(target - current); // Calculate the difference between the target and current number if (currentDiff < closestDiff) { closest = current; // Update the closest number closestDiff = currentDiff; // Update the closest difference } } return closest; } const arr = [45, 23, 25, 78, 32, 56, 12]; const target = 50; console.log(findClosest(arr, target));
Explanation
The function findClosest takes two arguments: an array of numbers and a target number target.
We create a variable closest and set it equal to the first number in the numbers array, and assume that this is the closest number to the target.
We also create a variable closestDiff which calculates the difference between the target number and the closest number using Math.abs(). Math.abs() returns the absolute value of a number, ensuring that the difference is always positive.
We then use a for loop to iterate through the numbers array. For each iteration, we store the current number in the current variable and calculate the difference between the target and current number in currentDiff.
If currentDiff is less than closestDiff, we update closest to be current and closestDiff to be currentDiff.
Finally, the function returns the closest number to the target.