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