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

จะตรวจสอบได้อย่างไรว่าองค์ประกอบที่มีให้ในอาร์เรย์ได้ผ่านเงื่อนไขที่ระบุหรือไม่ใน JavaScript?


มีสองวิธี เพื่อตรวจสอบว่าองค์ประกอบที่จัดเตรียมไว้ของอาร์เรย์ผ่านการทดสอบหรือไม่ คือ Array.filter() เมธอดและ _.filter() กระบวนการ. วิธีแรกเป็นวิธีจาวาสคริปต์ปกติ ในขณะที่วิธีหลังเป็นวิธีจาก underscore.js ซึ่งเป็นไลบรารี่ของจาวาสคริปต์

ไวยากรณ์

_.filter( list, conditions);

วิธีนี้ยอมรับสองพารามิเตอร์ หนึ่งคือรายการที่จะให้องค์ประกอบและเงื่อนไขอื่น ๆ (ไม่มีอะไรนอกจากรหัส)

ตัวอย่าง

ในตัวอย่างต่อไปนี้ ค่าทวีคูณของสามแสดงโดยใช้ _.filter() . ที่นี่ _.filter() เมธอดมีพารามิเตอร์สองตัว ตัวหนึ่งเป็นรายการและอีกตัวเป็นเงื่อนไข

<html>
<body>
<script type="text/javascript" src=
   "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
</script>
</head>
<body>
<script>
   var arr = [3,4,5,6,9,77,36,42]
   var threeMul = _.filter(arr,
   function(num){
      return num % 3 == 0;
   });
   document.write(threeMul);
</script>
</body>
</html>

ผลลัพธ์

3,6,9,36,42


Array.filter()

นี่เป็นวิธีจาวาสคริปต์ปกติ ใช้เพื่อกรองค่าไม่ว่าจะผ่านการทดสอบที่ให้มาหรือไม่

ตัวอย่าง

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

<html>
<body>
<p id="filter"></p>
<script>
   var salary = [12000, 13000, 15000, 78000, 43000];
   var specSal = salary.filter(myFunction);
   document.getElementById("filter").innerHTML = specSal;
   function myFunction(value, index, array) {
      return value > 20000;
   }
</script>
</body>
</html>

ผลลัพธ์

78000,43000