Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การใช้ฟังก์ชันลำดับที่สูงกว่าใน JavaScript คืออะไร?


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