orderby ใน Lodash

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

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 = _.orderBy(users, ['age'], ['asc']);

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

ในตัวอย่างข้างบน _.orderBy(users, ['age'], ['asc']) จะเรียงลำดับผู้ใช้ตามอายุของพวกเขา และเรียงในลำดับจากน้อยไปมาก เหล่าผู้ใช้จะถูกเรียงลำดับจากอายุน้อยสุดไปยังมากสุด.

คุณยังสามารถกำหนดหลายเกณฑ์การเรียงลำดับได้:

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 sortedByAgeAndName = _.orderBy(users, ['age', 'name'], ['asc', 'desc']);

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

ในกรณีนี้ _.orderBy(users, ['age', 'name'], ['asc', 'desc']) จะเรียงลำดับผู้ใช้โดยอายุเริ่มต้นและเมื่ออายุเท่ากันจะเรียงตามชื่อเริ่มต้น และเรียงตามลำดับที่กำหนดใน ['asc', 'desc'].

_.orderBy เป็นเครื่องมือที่สามารถช่วยในการเรียงลำดับข้อมูลในอาร์เรย์หรือคอลเลกชันอื่น ๆ โดยใช้เกณฑ์การเรียงลำดับที่คุณกำหนดได้อย่างสะดวกและยืดหยุ่น.