filter ใน Lodash

_.filter ใน Lodash เป็นฟังก์ชันที่ใช้สำหรับกรองสมาชิกในอาร์เรย์หรือคอลเลกชันอื่น ๆ โดยใช้เงื่อนไขที่คุณกำหนดในฟังก์ชัน predicate และคืนค่าสมาชิกที่ผ่านเงื่อนไขนั้นออกมาในรูปแบบของอาร์เรย์ใหม่ นี่คือวิธีใช้งาน _.filter:

1
2
3
4
5
6
7
8
const _ = require('lodash');

const numbers = [1, 2, 3, 4, 5, 6];

// กรองเลขคู่
const evenNumbers = _.filter(numbers, (number) => number % 2 === 0);

console.log(evenNumbers); // [2, 4, 6]

ในตัวอย่างข้างบน _.filter(numbers, (number) => number % 2 === 0) จะกรองสมาชิกในอาร์เรย์ numbers และคืนค่าสมาชิกที่เป็นเลขคู่ออกมา นี่คือผลลัพธ์ที่คุณจะเห็น:

1
[2, 4, 6]

คุณสามารถใช้ _.filter เพื่อกรองข้อมูลในอาร์เรย์หรือคอลเลกชันอื่น ๆ โดยใช้เงื่อนไขที่คุณต้องการ สมมติว่าคุณมีอาร์เรย์ของอ็อบเจ็กต์ที่เก็บข้อมูลของผู้ใช้ และคุณต้องการกรองผู้ใช้ที่มีอายุมากกว่า 30 ปี:

1
2
3
4
5
6
7
8
9
10
11
12
13
const _ = require('lodash');

const users = [
{ name: 'John', age: 30 },
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 35 },
];

// กรองผู้ใช้ที่มีอายุมากกว่า 30 ปี
const olderUsers = _.filter(users, (user) => user.age > 30);

console.log(olderUsers);
// ผลลัพธ์: [{ name: 'John', age: 30 }, { name: 'Bob', age: 35 }]

ในกรณีนี้ _.filter จะกรองผู้ใช้ที่มีอายุมากกว่า 30 ปี และคืนค่าผู้ใช้เหล่านั้นในรูปแบบของอาร์เรย์ใหม่ที่มีเพียงผู้ใช้ที่ผ่านเงื่อนไขนี้เท่านั้น.