จะเรียกการลดอาร์เรย์ของวัตถุเพื่อรวมคุณสมบัติได้อย่างไร

Ca Reiyk Kar Ld Xarrey Khxng Watthu Pheux Rwm Khunsmbati Di Xyangri



ในขณะที่ทำงานกับอาร์เรย์ของออบเจกต์ใน JavaScript มักจำเป็นต้องทำการคำนวณคุณสมบัติ ตัวอย่างเช่น การหาผลรวมของคุณสมบัติเฉพาะของออบเจกต์ทั้งหมดในอาร์เรย์เป็นงานทั่วไป “ ลด() ” เมธอดเป็นเครื่องมือที่มีประโยชน์สำหรับการคำนวณดังกล่าวให้เสร็จสมบูรณ์ เนื่องจากช่วยให้คุณสามารถรวบรวมค่าซ้ำๆ ตามสมาชิกของอาร์เรย์

บทช่วยสอนนี้จะอธิบายขั้นตอนการเรียกใช้เมธอด reduce() ในอาร์เรย์ของออบเจกต์เพื่อหาผลรวมของคุณสมบัติ

จะเรียกการลดอาร์เรย์ของวัตถุเพื่อรวมคุณสมบัติได้อย่างไร

ในการรวมคุณสมบัติของอาร์เรย์ของออบเจกต์ ให้ส่งฟังก์ชันการเรียกกลับไปยัง ' ลด() ' วิธี. วิธีการโทรกลับนี้ยอมรับสองข้อโต้แย้ง และ “ สะสม ' และ ' มูลค่าปัจจุบัน '. “มูลค่าปัจจุบัน” แสดงถึงองค์ประกอบที่กำลังดำเนินการอยู่ และ “ตัวสะสม” ระบุผลรวมสะสมของผลรวม สำหรับการคำนวณผลรวมของคุณสมบัติที่ระบุของวัตถุ ให้ใช้เครื่องหมายจุด (.) หรือเครื่องหมายวงเล็บ ([ ]) ภายในฟังก์ชันการเรียกกลับ







ไวยากรณ์
ไวยากรณ์ที่กำหนดใช้สำหรับเมธอด “reduce()”:



อาร์เรย์ ลด ( โทรกลับFunc , ค่าเริ่มต้น )

ตัวอย่างที่ 1
สร้างอาร์เรย์ของวัตถุชื่อ “ รายการสิ่งของ ” ซึ่งมีสี่วัตถุที่มีชื่อของผลิตภัณฑ์และปริมาณตามลำดับ:



เคยเป็น รายการสิ่งของ = [
{ ชื่อผลิตภัณฑ์ : 'ขนมปัง' , ปริมาณ : 30 } ,
{ ชื่อผลิตภัณฑ์ : 'เนย' , ปริมาณ : สี่ห้า } ,
{ ชื่อผลิตภัณฑ์ : 'น้ำผลไม้' , ปริมาณ : 58 } ,
{ ชื่อผลิตภัณฑ์ : 'ข้าวโอ้ต' , ปริมาณ : 40 }
] ;

เรียกใช้เมธอด reduce() ด้วยฟังก์ชันการเรียกกลับเพื่อรับผลรวมของคุณสมบัติของวัตถุที่เรียกว่า “ ปริมาณ ”:





เคยเป็น ปริมาณสินค้าทั้งหมด = รายการสิ่งของ. ลด ( การทำงาน ( ก่อนหน้าVal , ปัจจุบันVal ) {
กลับ ก่อนหน้าVal + ปัจจุบันVal. ปริมาณ ;
} , 0 ) ;

สุดท้าย พิมพ์ค่าที่ลดลงของผลรวมของปริมาณบนคอนโซล:

คอนโซล บันทึก ( 'จำนวนสินค้าทั้งหมด:' , ปริมาณสินค้าทั้งหมด ) ;

สามารถสังเกตได้ว่าผลรวมของคุณสมบัติของวัตถุได้รับการคำนวณเรียบร้อยแล้ว:



ตัวอย่างที่ 2
คุณยังสามารถกำหนดฟังก์ชันสำหรับคำนวณผลรวมของคุณสมบัติของวัตถุที่ระบุ ขั้นแรก เราจะกำหนดวัตถุชื่อ “นักเรียน” ด้วยคุณลักษณะ/คุณสมบัติที่เรียกว่า “ เรื่อง ' และ ' เครื่องหมาย ”:

เคยเป็น นักเรียน = [
{ เรื่อง : 'คณิตศาสตร์' , เครื่องหมาย : 89 } ,
{ เรื่อง : 'ภูมิศาสตร์' , เครื่องหมาย : 72 } ,
{ เรื่อง : 'ศาสตร์' , เครื่องหมาย : 65 } ,
{ เรื่อง : 'ภาษาอังกฤษ' , เครื่องหมาย : 75 }
] ;

กำหนดฟังก์ชันชื่อ “ การคำนวณ() ” และสำหรับการเข้าถึงคุณสมบัติของวัตถุ ให้ใช้เครื่องหมายวงเล็บ ([ ]):

การทำงาน การคำนวณ ( คัดค้าน , คุณสมบัติ ) {
เคยเป็น คำนวณ = คัดค้าน ลด ( การทำงาน ( ก่อนหน้าVal , ปัจจุบันVal ) {
กลับ ก่อนหน้าVal + ปัจจุบันVal [ คุณสมบัติ ] ;
} , 0 ) ;
คอนโซล บันทึก ( 'ทั้งหมด:' , คำนวณ ) ;
}

ตอนนี้ เรียกใช้ฟังก์ชันโดยส่งวัตถุ “ นักเรียน ” และทรัพย์สิน “ เครื่องหมาย ” เพื่อกำหนดผลรวมของคะแนนรวมที่ได้รับในทุกวิชา:

การคำนวณ ( นักเรียน , 'เครื่องหมาย' ) ;

เอาต์พุต

นั่นคือทั้งหมดที่เกี่ยวกับการเรียกใช้เมธอด reduce() ในอาร์เรย์ของวัตถุเพื่อคำนวณผลรวมของคุณสมบัติ

บทสรุป

ส่งฟังก์ชันการโทรกลับไปที่ ' ลด() ” วิธีการคำนวณผลรวมของคุณสมบัติของอาร์เรย์ของวัตถุ สำหรับการเข้าถึงคุณสมบัติของวัตถุ ให้ใช้จุด “.” สัญกรณ์หรือวงเล็บ “[ ]” สัญกรณ์ภายในฟังก์ชันการเรียกกลับ บทช่วยสอนนี้อธิบายขั้นตอนการเรียกเมธอด reduce() ในอาร์เรย์ของออบเจกต์เพื่อหาผลรวมของคุณสมบัติ