เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของ Numbers เป็นอาร์กิวเมนต์แรกและป้อนตัวเลข เช่น n เป็นอาร์กิวเมนต์ที่สอง
ฟังก์ชันของเราควรคำนวณและส่งคืนผลคูณที่เป็นไปได้มากที่สุดของตัวเลข n จากอาร์เรย์
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
const getHighestProduct = (arr, num) => { let prod = 1; const sorter = (a, b) => a - b; arr.sort(sorter); if (num > arr.length || num & 2 && arr[arr.length - 1] < 0) { return; }; if (num % 2) { prod = arr.pop(); num--; }; while (num) { prod *= arr[0] * arr[1] > arr[arr.length - 2] * arr[arr.length - 1] ? arr.shift() * arr.shift() : arr.pop() * arr.pop(); num -= 2; }; return prod; } console.log(getHighestProduct([1, 10, -5, 1, -100], 3)); console.log(getHighestProduct([3, 4, 5, 6, 7], 3)); console.log(getHighestProduct([3, 4, -5, -6, -7], 3));
ผลลัพธ์
และผลลัพธ์ในคอนโซลจะเป็น −
5000 210 168