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

อาร์เรย์ค่าเฉลี่ยของสมาชิกที่ติดกัน - JavaScript

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

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

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

เราจะใช้ Array.prototype.map() เพื่อแก้ปัญหานี้

ตัวอย่าง

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

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

console.log(consecutiveAverage(arr));

ผลลัพธ์

จะแสดงผลในคอนโซลดังนี้:

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