JSFiddle - React, Tailwind, and code Playground
by tbarmann
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
JavaScript
function findPairs(arr, target) {
var pairs = [];
var first = 0;
var last = arr.length-1;
while (first <= last) {
var sum = arr[first] + arr[last];
if (sum === target) {
pairs.push([arr[first], arr[last]]);
first ++;
last--;
}
else if (sum < target) {
first++;
}
else {
last--;
}
}
return pairs;
}
var sample = _.range(51);
console.log(JSON.stringify(findPairs(sample,60)));
// [[10,50],[11,49],[12,48],[13,47],[14,46],[15,45],[16,44],[17,43],[18,42],[19,41],[20,40],[21,39],[22,38],[23,37],[24,36],[25,35],[26,34],[27,33],[28,32],[29,31],[30,30]]