Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ค้นหาคู่ทั้งหมดที่รวมเป็นค่าเป้าหมายใน JavaScript


เราต้องเขียนฟังก์ชัน 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 ] ]