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"}]