Javascript ได้จัดเตรียมฟังก์ชันในตัวมากมายเพื่อทำงานเฉพาะให้เสร็จสมบูรณ์ แต่ถ้าเราพยายามแก้โปรแกรมใดๆ ตามปกติด้วยฟังก์ชันในตัวเหล่านั้น โค้ดอาจไม่รัดกุม จาวาสคริปต์ยังได้จัดเตรียม ฟังก์ชันลำดับที่สูงกว่าในตัว ฟังก์ชันระดับสูง .เหล่านี้ ลดความยาวของโค้ด เพิ่มความสามารถในการอ่าน และทำให้การเข้าถึงง่ายขึ้น ฟังก์ชันลำดับที่สูงกว่าบางส่วน ได้แก่ แผนที่ ตัวกรอง และการลด . มาคุยกันเรื่องกรองฟังก์ชันลำดับที่สูงกว่ากัน
ตัวอย่าง
เมื่อไม่มี ลำดับที่สูงกว่า ฟังก์ชั่นรหัสโปรแกรมอาจใช้จำนวนขั้นตอนมากขึ้น ในตัวอย่างต่อไปนี้ อาร์เรย์ใหม่จะถูกใช้ แม้ว่าอาร์เรย์ที่จัดเตรียมไว้ก็เพียงพอที่จะทำงานให้เสร็จสิ้น for-loop ซึ่งไม่จำเป็นในกรณีของฟังก์ชันที่มีลำดับสูงกว่า จะถูกนำไปวนซ้ำในอาร์เรย์
<html> <body> <script> const name = []; var persons = [ { name: 'Frodobaggins'}, { name: 'aragorn'}, { name: 'gandalf'}, { name: 'pippin'}, { name: 'nazgul'}, ]; for(let i = 0; i < persons.length; i++) { if(persons[i].name.length > 6) { name.push(persons[i]); } } document.write(JSON.stringify(name)); </script> </body> </html>
ผลลัพธ์
[{"name":"Frodobaggins"},{"name":"aragorn"},{"name":"gandalf"}]
ตัวอย่าง
ในตัวอย่างต่อไปนี้ ลำดับที่สูงกว่า ฟังก์ชั่น ตัวกรอง ถูกนำมาใช้. เมื่อเทียบกับตัวอย่างข้างต้น ตัวอย่างต่อไปนี้มีโค้ดน้อยกว่าบรรทัด ที่นี่ไม่มีการใช้อาร์เรย์ใหม่และยังไม่มีการใช้ for-loop
<html> <body> <script> const persons = [ { name: 'Frodobaggins'}, { name: 'aragorn'}, { name: 'gandalf'}, { name: 'pippin'}, { name: 'nazgul'}, ]; const name = persons.filter(person => person.name.length > 7); document.write(JSON.stringify(name)); </script> </body> </html>
ผลลัพธ์
[{"name":"Frodobaggins"}]