在JavaScript中找到所有总和为目标值的对

我们需要编写一个JavaScript函数,该函数将数字数组作为第一个参数,并将目标总和数字作为第二个参数。

该函数应返回一个数组,其中包含所有这些数字对,这些数字对加起来等于第二个参数指定的目标和。

我们将使用map对象检查对,然后将所需的对推入新数组。

示例

为此的代码将是-

const arr = [7, 0, -4, 5, 2, 3];
const allTwoSum = (arr, target) => {
   const map = {};
   const results = [];
   for (let i = 0; i < arr.length; i++) {
      if (map[arr[i]]) {
         results.push([target − arr[i], arr[i]]);
         continue;
      };
      map[target − arr[i]] = true;
   };
   return results;
};
console.log(allTwoSum(arr, 5));

输出结果

控制台中的输出将是-

[ [ 0, 5 ], [ 2, 3 ] ]