Files
30-seconds-of-code/javascript/snippets/closest.md
2023-05-01 22:35:56 +03:00

23 lines
520 B
Markdown

---
title: Closest numeric match
type: snippet
tags: [math]
author: chalarangelo
cover: sparkles
dateModified: 2022-03-30T05:00:00-04:00
---
Finds the closest number from an array.
- Use `Array.prototype.reduce()` to scan all elements of the array.
- Use `Math.abs()` to compare each element's distance from the target value, storing the closest match.
```js
const closest = (arr, n) =>
arr.reduce((acc, num) => (Math.abs(num - n) < Math.abs(acc - n) ? num : acc));
```
```js
closest([6, 1, 3, 7, 9], 5); // 6
```