สมมุติว่าเรามีอาร์เรย์ของตัวเลข −
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 ]