sortby ใน Lodash

ใน Lodash, คุณสามารถใช้ฟังก์ชัน _.sortBy ในการเรียงลำดับสมาชิกในอาร์เรย์โดยใช้ค่าที่คุณกำหนดเป็นเกณฑ์การเรียงลำดับ ฟังก์ชัน _.sortBy จะสร้างอาร์เรย์ใหม่ที่มีสมาชิกถูกเรียงลำดับตามเกณฑ์ที่คุณระบุ นี่คือวิธีใช้งาน _.sortBy:

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 },
];

// เรียงลำดับโดยอายุ
const sortedByAge = _.sortBy(users, 'age');

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

ในตัวอย่างข้างบน _.sortBy(users, 'age') จะเรียงลำดับอาร์เรย์ users ตามอายุของผู้ใช้ คุณสามารถใช้สตริงเป็นเกณฑ์การเรียงลำดับเมื่ออาร์เรย์มีอ็อบเจ็กต์ซับซ้อน หรือคุณยังสามารถใช้ฟังก์ชัน iteratee เพื่อกำหนดเกณฑ์การเรียงลำดับที่ซับซ้อนมากขึ้น นี่คือตัวอย่างการใช้ฟังก์ชัน iteratee:

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 },
];

// เรียงลำดับโดยย่อยกลุ่มตามชื่อเริ่มต้นด้วย 'J' ขึ้นก่อน
const sortedByName = _.sortBy(users, [(user) => user.name.startsWith('J'), 'name']);

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

ในตัวอย่างข้างบน _.sortBy(users, [(user) => user.name.startsWith('J'), 'name']) จะเรียงลำดับผู้ใช้โดยกลุ่มตามชื่อเริ่มต้นด้วย ‘J’ ขึ้นก่อน และจากนั้นเรียงตามชื่อตัวอักษรอื่น ๆ ที่เหลือในลำดับเดียวกัน ฟังก์ชัน _.sortBy ช่วยในการเรียงลำดับข้อมูลในอาร์เรย์โดยอาศัยเกณฑ์การเรียงลำดับที่คุณกำหนดได้อย่างสะดวกและยืดหยุ่น.