Chúng ta cần viết một hàm JavaScript nhận vào một mảng các số làm đối số thứ nhất và một số tổng mục tiêu làm đối số thứ hai. Hàm nên trả về một mảng tất cả các cặp số từ mảng cộng lại cho tổng mục tiêu được chỉ định. Chúng ta sẽ sử dụng một object map để kiểm tra các cặp và đẩy các cặp mong muốn vào một mảng mới.
Ví dụ
Code cho việc này sẽ là:
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));Kết quả
Kết quả hiển thị trong console sẽ là:
[ [ 0, 5 ], [ 2, 3 ] ]