ใน Lodash, “Collection” คือคำที่ใช้ในทางทฤษฎีความรู้และคำและไม่ได้ถูกนิยามอย่างชัดเจนเท่าไรในเอกสารทางเทคนิคของ Lodash แต่มักจะใช้เพื่ออธิบายโครงสร้างข้อมูลที่สามารถจัดการด้วย Lodash ซึ่งอาจรวมถึงอาร์เรย์ (arrays), อ็อบเจ็กต์ (objects), และคอลเล็กชันข้อมูลอื่นๆ ที่มีโครงสร้างคล้ายกัน.
นี่คือบางฟังก์ชันที่ Lodash มีสำหรับการจัดการกับ Collection:
_.each(collection, iteratee): ใช้สำหรับวนลูปผ่าน Collection และดำเนินการตาม iteratee ส่วนในทุกสมาชิกของ Collection โดยไม่สร้าง Collection ใหม่.
1
2
3
4_.each([1, 2, 3], num => console.log(num));
// 1
// 2
// 3_.map(collection, iteratee): ใช้สำหรับแปลงข้อมูลใน Collection ตามฟังก์ชัน iteratee และสร้าง Collection ใหม่ที่ประกอบด้วยผลลัพธ์ของการแปลง.
1
2
3const squares = _.map([1, 2, 3], num => num * num);
console.log(squares); // [1, 4, 9]_.filter(collection, predicate): ใช้สำหรับกรองข้อมูลใน Collection ตามเงื่อนไขที่กำหนดในฟังก์ชัน predicate และสร้าง Collection ใหม่ที่ประกอบด้วยข้อมูลที่ผ่านการกรอง.
1
2
3const evenNumbers = _.filter([1, 2, 3, 4, 5], num => num % 2 === 0);
console.log(evenNumbers); // [2, 4]_.reduce(collection, iteratee, [accumulator]): ใช้สำหรับรวมค่าใน Collection ด้วยฟังก์ชัน iteratee โดยใช้ค่าเริ่มต้นจาก accumulator (ถ้ามี) และส่งค่ารวมที่ได้กลับ.
1
2
3const sum = _.reduce([1, 2, 3, 4, 5], (total, num) => total + num, 0);
console.log(sum); // 15_.groupBy(collection, iteratee): ใช้สำหรับแบ่งกลุ่มข้อมูลใน Collection ตามเกณฑ์ที่กำหนดใน iteratee และสร้างอ็อบเจ็กต์ที่มีคีย์เป็นเกณฑ์และค่าเป็นข้อมูลที่อยู่ในกลุ่มเดียวกัน.
1
2
3
4
5
6
7
8
9
10
11
12
13const people = [
{ name: 'Alice', age: 30 },
{ name: 'Bob', age: 25 },
{ name: 'Carol', age: 30 },
];
const groupedByAge = _.groupBy(people, 'age');
console.log(groupedByAge);
// {
// '25': [{ name: 'Bob', age: 25 }],
// '30': [{ name: 'Alice', age: 30 }, { name: 'Carol', age: 30 }]
// }
Lodash มีฟังก์ชันมากมายอื่นๆ ที่ช่วยในการจัดการกับ Collection และการประมวลผลข้อมูล คุณสามารถเรียนรู้เพิ่มเติมได้จากเอกสารทางเทคนิคของ Lodash และตัวอย่างการใช้งานที่สมบูรณ์.