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

จะค้นหาองค์ประกอบทั้งหมดที่ตรงกับเงื่อนไขเฉพาะใน JavaScript ได้อย่างไร


จาวาสคริปต์ มีเฟรมเวิร์กมากมายที่ underscore.js เป็นหนึ่งในนั้น มันมีฟังก์ชั่นมากมายที่ _.where() เป็นฟังก์ชันที่ใช้ค้นหาองค์ประกอบตามเงื่อนไขเฉพาะ

เมธอดนี้จะแสดงองค์ประกอบโดยพิจารณาว่าผ่านเงื่อนไขหรือไม่ สมมติว่าถ้าเราผ่านเงื่อนไขว่ามีคนกี่คนจากอาร์เรย์ที่ให้มามีเงินเดือนเท่ากับ 15,000 แล้วเมธอด _.where() กลั่นกรองทุกองค์ประกอบไม่ว่าจะผ่านเงื่อนไขหรือไม่ หากองค์ประกอบใดผ่านเงื่อนไข องค์ประกอบนั้นจะแสดงเป็นผลลัพธ์

ไวยากรณ์

_.where( list, testCondition);

ยอมรับอาร์เรย์เพื่อกลั่นกรองและพิจารณาเงื่อนไขเพื่อประเมินองค์ประกอบ องค์ประกอบที่ผ่านเงื่อนไขจะแสดงเป็นผลลัพธ์

ตัวอย่าง-1

ในตัวอย่างต่อไปนี้ เงื่อนไขจะถูกส่งต่อเกี่ยวกับอายุ และผลลัพธ์จะแสดงตามเงื่อนไข

<html>
<body>
<script
   src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/0.10.0/lodash.min.js"></script>
</head>
<body>
<script>
   var people = [
      {"name": "Dhoni", "age": 38},
      {"name": "kohli", "age": 22},
      {"name": "Rohit", "age": 28},
      {"name": "dhawan", "age": 28}
   ]
   document.write(JSON.stringify(_.where(people, {age: 28})));
</script>
</body>
</html>

ผลลัพธ์

[{"name":"akansha","age":28},{"name":"preeti","age":28}]

ตัวอย่าง-2

ในตัวอย่างต่อไปนี้ อาร์เรย์ "students" จะถูกตรวจสอบโดยส่งเงื่อนไขเกี่ยวกับ id และผลลัพธ์จะแสดงตามที่แสดงในผลลัพธ์

<html>
<body>
<script
   src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/0.10.0/lodash.min.js"></script>
</head>
<body>
<script>
   var students = [
      {"name": "Ravi", "id": 45},
      {"name": "Surya", "id": 45},
      {"name": "Chandra", "id": 47},
      {"name": "guru", "id": 40}
]
   document.write(JSON.stringify(_.where(students, {id:45})));
</script>
</body>
</html>

ผลลัพธ์

[{"name":"Ravi","id":45},{"name":"Surya","id":45}]