ปัญหา
เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของตัวเลขและตัวเลขเดี่ยว ฟังก์ชันควรหาตัวเลขที่เมื่อเพิ่มเข้าไปในอาร์เรย์ จะทำให้ค่าเฉลี่ยเท่ากับตัวเลขที่ระบุโดยอาร์กิวเมนต์ที่สอง
ตัวอย่าง
โค้ดตัวอย่างดังนี้:
const arr = [4, 20, 25, 17, 9, 11, 15];
const target = 25;
function findNumber(arr, target) {
let sum = arr.reduce((a, b) => a + b, 0);
let avg = sum / arr.length;
let next = Math.ceil((target * (arr.length + 1)) - sum);
if (next <= 0) { throw new Error(); }
return next;
}
console.log(findNumber(arr, target));
ผลลัพธ์
99