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]]