
- Javascript Basics Tutorial
- Javascript - Home
- Javascript - Overview
- Javascript - Syntax
- Javascript - Enabling
- Javascript - Placement
- Javascript - Variables
- Javascript - Operators
- Javascript - If...Else
- Javascript - Switch Case
- Javascript - While Loop
- Javascript - For Loop
- Javascript - For...in
- Javascript - Loop Control
- Javascript - Functions
- Javascript - Events
- Javascript - Cookies
- Javascript - Page Redirect
- Javascript - Dialog Boxes
- Javascript - Void Keyword
- Javascript - Page Printing
- JavaScript Objects
- Javascript - Objects
- Javascript - Number
- Javascript - Boolean
- Javascript - Strings
- Javascript - Arrays
- Javascript - Date
- Javascript - Math
- Javascript - RegExp
- Javascript - HTML DOM
- JavaScript Advanced
- Javascript - Error Handling
- Javascript - Validations
- Javascript - Animation
- Javascript - Multimedia
- Javascript - Debugging
- Javascript - Image Map
- Javascript - Browsers
- JavaScript Useful Resources
- Javascript - Questions And Answers
- Javascript - Quick Guide
- Javascript - Functions
- Javascript - Resources
Adjacent elements of array whose sum is closest to 0 - JavaScript
We are required to write a JavaScript function that takes in an array of numbers and returns a subarray of two elements from the original array whose sum is closest to 0.
If the length of the array is less than 2, we should return the whole array.
For example: If the input array is −
const arr = [4, 4, 12, 3, 3, 1, 5, -4, 2, 2];
Here, the sum of pair [5, -4] is 1 which is closest 0 for any two adjacent elements of the array, so we should return [5, -4]
Example
Following is the code −
const arr = [4, 4, 12, 3, 3, 1, 5, -4, 2, 2]; const closestElements = (arr, sum) => { if(arr.length <= 2){ return arr; } const creds = arr.reduce((acc, val, ind) => { let { closest, startIndex } = acc; const next = arr[ind+1]; if(!next){ return acc; } const diff = Math.abs(sum - (val + next)); if(diff < closest){ startIndex = ind; closest = diff; }; return { startIndex, closest }; }, { closest: Infinity, startIndex: -1 }); const { startIndex: s } = creds; return [arr[s], arr[s+1]]; }; console.log(closestElements(arr, 1));
Output
Following is the output in the console −
[5, -4]
- Related Articles
- Pair of (adjacent) elements of an array whose sum is lowest JavaScript
- Program to find three unique elements from list whose sum is closest to k Python
- How to find a group of three elements in an array whose sum equals some target sum JavaScript
- Absolute sum of array elements - JavaScript
- Sum of Mutated Array Closest to Target in C++
- C++ program to find permutation for which sum of adjacent elements sort is same as given array
- Thrice sum of elements of array - JavaScript
- Finding two closest elements to a specific number in an array using JavaScript
- Sum of distinct elements of an array - JavaScript
- Maximum set bit sum in array without considering adjacent elements in C++
- Maximum sum of difference of adjacent elements in C++
- Get closest number out of array JavaScript
- Find closest index of array in JavaScript
- JavaScript: Adjacent Elements Product Algorithm
- Consecutive elements sum array in JavaScript

Advertisements