Util ใน Lodash

ใน Lodash, โมดูล “Util” ไม่มีอย่างเป็นที่เด่นเหมือนโมดูลอื่น ๆ ที่เกี่ยวข้องกับการจัดการข้อมูลแบบพื้นฐานเช่น Array หรือ Object แต่มีฟังก์ชันที่เกี่ยวข้องกับการทำงานแบบอุตสาหกรรมหรือการใช้งานทั่วไป นี่คือฟังก์ชันบางส่วนที่เกี่ยวข้องกับ Util ใน Lodash:

  1. _.debounce(func, [wait=0], [options={}]): ใช้สำหรับสร้างฟังก์ชันใหม่ที่ทำการเรียก func หลังจากผ่านไปเวลา wait (มิลลิวินาที) โดยตัว debounce จะรอการเรียก func จนกว่าจะไม่มีการเรียกเพิ่มเติมเกิดขึ้น ใช้สำหรับการควบคุมการเรียกฟังก์ชันในกรณีที่การเรียกมีความถี่สูง.

    1
    const debouncedFunc = _.debounce(searchFunction, 300); // รอ 300 มิลลิวินาที
  2. _.throttle(func, [wait=0], [options={}]): ใช้สำหรับสร้างฟังก์ชันใหม่ที่ทำการเรียก func อย่างสม่ำเสมอทุก wait (มิลลิวินาที) โดยจะไม่รอการเรียกถัดไปหาก func ยังไม่เสร็จสมบูรณ์ ใช้สำหรับการควบคุมการเรียกฟังก์ชันในกรณีที่การเรียกมีความถี่สูง.

    1
    const throttledFunc = _.throttle(scrollEventHandler, 500); // รอ 500 มิลลิวินาที
  3. _.memoize(func, [resolver]): ใช้สำหรับสร้างฟังก์ชันที่เก็บค่าผลลัพธ์ของ func ลงในแคชเพื่อลดการเรียก func ใหม่ในกรณีที่มีการเรียกซ้ำกันด้วยอาร์กิวเมนต์เดิม สามารถกำหนด resolver เพื่อกำหนดวิธีในการแปลงอาร์กิวเมนต์ให้อยู่ในรูปแบบที่ใช้ในการเรียก func.

    1
    const memoizedFunction = _.memoize(fetchData);
  4. _.once(func): ใช้สำหรับสร้างฟังก์ชันใหม่ที่จะเรียก func อย่างสม่ำเสมอครั้งเดียวเท่านั้น และจะไม่สามารถเรียกฟังก์ชันนี้อีกครั้งหลังจากเรียกแล้ว.

    1
    const runOnce = _.once(initSetup);
  5. _.random([lower=0], [upper=1], [floating]): ใช้สำหรับสร้างตัวเลขสุ่มในช่วงระหว่าง lower และ upper โดยถ้าตั้งค่า floating เป็น true จะสร้างตัวเลขทศนิยม.

    1
    2
    const randomInt = _.random(1, 10); // ตัวเลขจำนวนเต็มสุ่มในช่วง 1-10
    const randomFloat = _.random(0, 1, true); // ตัวเลขทศนิยมสุ่มในช่วง 0-1
  6. _.uniqueId([prefix=’’]): ใช้สำหรับสร้างรหัสที่ไม่ซ้ำกันขึ้นมาใหม่ทุกครั้ง โดยสามารถกำหนด prefix เพื่อเพิ่มข้อความหน้าหรือรองรับเขต

ข้อมูลเฉพาะ.

1
const uniqueId = _.uniqueId('user_'); // เช่น 'user_1', 'user_2', 'user_3', ...

เหล่าฟังก์ชันที่เกี่ยวข้องกับ Util ใน Lodash ช่วยในการจัดการการจับเวลาการเรียกฟังก์ชัน (debounce และ throttle) การเก็บข้อมูลเวลาการเรียกฟังก์ชัน (memoize) และการจัดการการเรียกฟังก์ชันครั้งเดียว (once) ซึ่งเป็นสิ่งสำคัญในการพัฒนาแอปพลิเคชัน JavaScript ที่มีประสิทธิภาพและการตอบสนองอย่างเหมาะสม.