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

หาค่าเฉลี่ยขององค์ประกอบติดกันใน JavaScript

สมมติว่าเรามีอาร์เรย์ของตัวเลข:

const arr = [3, 5, 7, 8, 3, 5, 7, 4, 2, 8, 4, 2, 1];

เราต้องเขียนฟังก์ชันที่คืนค่าอาร์เรย์ที่มีค่าเฉลี่ยขององค์ประกอบที่ตรงกันและตัวก่อนหน้า สำหรับองค์ประกอบแรก เนื่องจากไม่มีตัวก่อนหน้า จึงคืนค่าตัวมันเอง

มาเขียนโค้ดสำหรับฟังก์ชันนี้ เราจะใช้ฟังก์ชัน Array.prototype.map() เพื่อแก้ปัญหานี้:

ตัวอย่างโค้ด

const consecutiveAverage = arr => {
  return arr.map((el, ind, array) => {
    return ((el + (array[ind - 1] || 0)) / (1 + !!ind));
  });
};

console.log(consecutiveAverage(arr));

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็นดังนี้:

[ 3, 4, 6, 7.5, 5.5, 4, 6, 5.5, 3, 5, 6, 3, 1.5 ]