We're a place where coders share, stay up-to-date and grow their careers.
Using JavaScript Set:
Set
const closest_num = (nums, given_num) => { const min_dist = Math.min(...nums.map(num => Math.abs(num - given_num))) return new Set(nums).has(given_num - min_dist) ? given_num - min_dist : given_num + min_dist }
Or we can save the intermediate array:
const closest_num = (nums, given_num) => { const absolute_dists = nums.map(num => Math.abs(num - given_num)) const min_absolute_dist = Math.min(...absolute_dists) return nums[absolute_dists.indexOf(min_absolute_dist)] }
Using JavaScript
Set
:Or we can save the intermediate array: