Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การหาผลรวมตัวเลขที่ต้องเพิ่มเพื่อให้ค่าเฉลี่ยเท่าค่าเป้าหมายใน JavaScript


ปัญหา

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