Collection ใน Lodash

ใน Lodash, “Collection” คือคำที่ใช้ในทางทฤษฎีความรู้และคำและไม่ได้ถูกนิยามอย่างชัดเจนเท่าไรในเอกสารทางเทคนิคของ Lodash แต่มักจะใช้เพื่ออธิบายโครงสร้างข้อมูลที่สามารถจัดการด้วย Lodash ซึ่งอาจรวมถึงอาร์เรย์ (arrays), อ็อบเจ็กต์ (objects), และคอลเล็กชันข้อมูลอื่นๆ ที่มีโครงสร้างคล้ายกัน.

นี่คือบางฟังก์ชันที่ Lodash มีสำหรับการจัดการกับ Collection:

  1. _.each(collection, iteratee): ใช้สำหรับวนลูปผ่าน Collection และดำเนินการตาม iteratee ส่วนในทุกสมาชิกของ Collection โดยไม่สร้าง Collection ใหม่.

    1
    2
    3
    4
    _.each([1, 2, 3], num => console.log(num));
    // 1
    // 2
    // 3
  2. _.map(collection, iteratee): ใช้สำหรับแปลงข้อมูลใน Collection ตามฟังก์ชัน iteratee และสร้าง Collection ใหม่ที่ประกอบด้วยผลลัพธ์ของการแปลง.

    1
    2
    3
    const squares = _.map([1, 2, 3], num => num * num);

    console.log(squares); // [1, 4, 9]
  3. _.filter(collection, predicate): ใช้สำหรับกรองข้อมูลใน Collection ตามเงื่อนไขที่กำหนดในฟังก์ชัน predicate และสร้าง Collection ใหม่ที่ประกอบด้วยข้อมูลที่ผ่านการกรอง.

    1
    2
    3
    const evenNumbers = _.filter([1, 2, 3, 4, 5], num => num % 2 === 0);

    console.log(evenNumbers); // [2, 4]
  4. _.reduce(collection, iteratee, [accumulator]): ใช้สำหรับรวมค่าใน Collection ด้วยฟังก์ชัน iteratee โดยใช้ค่าเริ่มต้นจาก accumulator (ถ้ามี) และส่งค่ารวมที่ได้กลับ.

    1
    2
    3
    const sum = _.reduce([1, 2, 3, 4, 5], (total, num) => total + num, 0);

    console.log(sum); // 15
  5. _.groupBy(collection, iteratee): ใช้สำหรับแบ่งกลุ่มข้อมูลใน Collection ตามเกณฑ์ที่กำหนดใน iteratee และสร้างอ็อบเจ็กต์ที่มีคีย์เป็นเกณฑ์และค่าเป็นข้อมูลที่อยู่ในกลุ่มเดียวกัน.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    const 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 และตัวอย่างการใช้งานที่สมบูรณ์.