เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของตัวเลขเป็นอาร์กิวเมนต์แรกและหมายเลขผลรวมเป้าหมายเป็นอาร์กิวเมนต์ที่สอง
ฟังก์ชันควรส่งคืนอาร์เรย์ของคู่ตัวเลขทั้งหมดจากอาร์เรย์ที่รวมเข้ากับผลรวมเป้าหมายที่ระบุโดยอาร์กิวเมนต์ที่สอง
เราจะใช้วัตถุแผนที่เพื่อตรวจสอบคู่และผลักคู่ที่ต้องการไปยังอาร์เรย์ใหม่
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
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 ] ]