วิธี reduceRight
วิธี reduceRight ทํางานเหมือนกันเป๊ะ
กับ reduce
- โปรดดูที่เมธอดนั้นเพื่อความเข้าใจที่สมบูรณ์ ข้อแตกต่าง
เพียงอย่างเดียวคือ: reduce จะวนลูปสมาชิก
จากซ้ายไปขวา ส่วน reduceRight จะวนจากขวา
ไปซ้าย
ไวยากรณ์
อาเรย์.reduceRight(function(ผลลัพธ์ขั้นกลาง, สมาชิก, ดัชนี, อาเรย์) {
return ผลลัพธ์ขั้นกลางใหม่;
}, ค่าเริ่มต้น);
ตัวอย่าง
ลองหาผลรวมของสมาชิกในอาเรย์:
let arr = [1, 2, 3, 4, 5, 6];
let res = arr.reduceRight(function(sum, elem) {
return sum + elem;
}, 0);
console.log(res);
ผลลัพธ์ของการรันโค้ด:
21
ตัวอย่าง
ลองรวมอาเรย์สองมิติให้เป็นอาเรย์หนึ่งมิติ:
let arr = [['a', 'b'], ['c'], ['d', 'e']];
let res = arr.reduceRight(function(elem1, elem2) {
return elem1.concat(elem2);
}, []);
console.log(res);
ผลลัพธ์ของการรันโค้ด:
['d', 'e', 'c', 'a', 'b']