Skip to content

Instantly share code, notes, and snippets.

@artursmirnov
Created April 13, 2015 13:10
Show Gist options
  • Save artursmirnov/685b54615f05c549e46c to your computer and use it in GitHub Desktop.
Save artursmirnov/685b54615f05c549e46c to your computer and use it in GitHub Desktop.
/**
* Finds all number pairs in given array whose sum equals to 10
* @param {Array} inputArray Array for search in
* @returns {Array} Resulting array of number pairs
*/
function findInArray (inputArray) {
var results = [];
if (inputArray && inputArray.length) {
// transform any custom array to flat one
var flatArray = inputArray.toString().split(",");
for (var i = 0; i < flatArray.length; i++) {
var number1 = parseInt(flatArray[i]);
for (var j = 0; j < flatArray.length; j++) {
if (j === i) { continue; }
var number2 = parseInt(flatArray[j]);
if (number1 + number2 === 10) {
results.push([number1, number2]);
}
}
}
}
return results;
}
/**
* Usage
*/
var testArray1 = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var testArray2 = [[1, 2, 3], 4, [5, 6], [[7, 8], 9]];
console.log(findInArray(testArray1)); // [ [1,9], [2,8], [3,7], [4,6], [6,4], [7,3], [8,2], [9,1] ]
console.log(findInArray(testArray2)); // [ [1,9], [2,8], [3,7], [4,6], [6,4], [7,3], [8,2], [9,1] ]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment