Chào ạ,
const array1 = [1, 2, 3, 4];
const callback = (previousValue, currentValue) => {
console.log({ "pre": previousValue, "current": currentValue })
};
log ra:
{ pre: 1, current: 2 }
{ pre: undefined, current: 3 }
{ pre: undefined, current: 4 }
previousValue bị undefined kể từ lần init đầu tiên nhưng tại sao không phải là :
{ pre: 1, current: 2 }
{ pre: 2, current: 3 }
{ pre: 3, current: 4 }
Em không hiểu tại sao khi sử dụng reduce bắt buộc phải có return và giá trị return của vòng lặp trước đó lại trở thành đối số thứ nhất previousValue của các lần lặp sau cho đến hết mảng (giá trị 3,6 của log bên dưới)
const array1 = [1, 2, 3, 4];
const callback = (previousValue, currentValue) => {
console.log({ "pre": previousValue, "current": currentValue })
return previousValue + currentValue;
};
const result = array1.reduce(callback);
console.log(result); // ra 10
log ra là:
{ pre: 1, current: 2 }
{ pre: 3, current: 3 }
{ pre: 6, current: 4 }
Ngoài tác dụng tính tổng mảng (hoặc phép toán tương tự) thì reducer còn dùng trong trường hợp nào nữa không?
Làm sao để mở API của hàm reduce này ra xem bên trong được code như thế nào?
Em cảm ơn 
Ví dụ
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?