- 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.