Array ใน Lodash

Lodash มีหลายฟังก์ชันที่ช่วยในการจัดการกับอาร์เรย์ (arrays) และประมวลผลข้อมูลในอาร์เรย์อย่างมีประสิทธิภาพ นี่คือบางฟังก์ชันสำคัญที่คุณสามารถใช้กับอาร์เรย์ใน Lodash:

  1. _.map(array, iteratee): ใช้สำหรับแปลงข้อมูลในอาร์เรย์ตามฟังก์ชัน iteratee และสร้างอาร์เรย์ใหม่ที่ประกอบด้วยผลลัพธ์ของการแปลงนั้น.

    1
    2
    3
    4
    const numbers = [1, 2, 3, 4, 5];
    const squaredNumbers = _.map(numbers, n => n * n);

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

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

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

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

    console.log(sum); // 15
  4. _.forEach(array, iteratee): ใช้สำหรับการวนลูปผ่านอาร์เรย์และดำเนินการตาม iteratee ส่วนในทุกตำแหน่งของอาร์เรย์ โดยไม่สร้างอาร์เรย์ใหม่.

    1
    2
    3
    4
    5
    6
    7
    const numbers = [1, 2, 3, 4, 5];
    _.forEach(numbers, num => console.log(num));
    // 1
    // 2
    // 3
    // 4
    // 5
  5. _.sortBy(array, [iteratees]): ใช้สำหรับเรียงลำดับอาร์เรย์ตามเกณฑ์ที่กำหนดใน iteratees (หรือเรียงลำดับตามค่าเริ่มต้นถ้าไม่ระบุ iteratees).

    1
    2
    3
    4
    5
    const people = [{ name: 'Alice', age: 30 }, { name: 'Bob', age: 25 }, { name: 'Carol', age: 35 }];
    const sortedPeople = _.sortBy(people, ['age']);

    console.log(sortedPeople);
    // [{ name: 'Bob', age: 25 }, { name: 'Alice', age: 30 }, { name: 'Carol', age: 35 }]

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