Giả sử, chúng ta có một dãy số -
const arr = [3, 5, 7, 8, 3, 5, 7, 4, 2, 8, 4, 2, 1];
Chúng ta được yêu cầu viết một hàm trả về một mảng với giá trị trung bình của phần tử tương ứng và phần tử tiền nhiệm của nó. Đối với phần tử đầu tiên, vì không có phần tử trước, do đó, phần tử đó sẽ được trả về.
Hãy viết mã cho hàm này, chúng ta sẽ sử dụng hàm Array.prototype.map () để giải quyết vấn đề này -
Ví dụ
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));
Đầu ra
Điều này sẽ tạo ra kết quả sau trong bảng điều khiển -
[ 3, 4, 6, 7.5, 5.5, 4, 6, 5.5, 3, 5, 6, 3, 1.5 ]