มี 2 วิธี ตรวจสอบ elements ในอาร์เรย์ว่าผ่านเงื่อนไขหรือไม่: Array.filter() (JS มาตรฐาน) และ _.filter() (จาก underscore.js library)
รูปแบบ _.filter()
_.filter(list, conditions);
รับ 2 พารามิเตอร์: list (elements) และ conditions (โค้ดเงื่อนไข)
ตัวอย่าง _.filter()
แสดงตัวคูณของ 3 ด้วย _.filter() รับ list และ condition function
<html> <body>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"></script>
<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()
เมธอดมาตรฐานของ JavaScript กรองค่าที่ผ่าน test
ตัวอย่าง 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