跳至頁尾內容
NODE 說明

Lodash NPM(開發者的使用方法)

Lodash 是一個現代 JavaScript 工具程式庫,提供模組化、性能和附加功能。 它透過提供廣泛的工具函式來協助開發者撰寫更簡潔且易於維護的程式碼,適用於常見的程式設計任務。

在本文中,我們將深入探討 Lodash,探索其功能、優勢,以及如何在您的 JS 專案中有效使用它。

什麼是 Lodash?

Lodash 是一個 JavaScript 程式庫,提供用於常見編程任務的工具方法,例如操作陣列、物件和字串。 它由 John-David Dalton 於 2012 年建立,作為 Underscore.js 的分支,另一個工具程式庫,目標是提供更好的性能和附加功能。

 Lodash NPM (開發者如何使用): 圖 1 - Lodash 核心構建

Lodash 的模組化方法支援現代環境,提供不同模組格式的複合函式。 其核心構建和 FP 構建增強了 JavaScript 的易用性,使字串操作和陣列迭代變得更簡單。 該程式庫以不同的模組格式匯出,以滿足不同的需求,完善處理 var 物件和 var 陣列的效率。 這就是為什麼 Lodash 仍然是 JS 程式庫領域的首選。

Lodash 的主要功能

Lodash 支援現代環境,並包含各種可以分類為多個組合的工具函式:

  1. 陣列操作: 用於陣列的函式,例如 mapfilterreduceflattenuniq
  2. 物件操作: 用於物件的函式,包括 assignkeysvaluesmergeomit
  3. 字串操作: 用於字串操作的函式,如 camelCasecapitalizetrimescape
  4. 集合操作: 用於處理集合(陣列或物件)的函式,例如 eachgroupBysortByshuffle
  5. 函式工具: 用於處理函式的函式,包括 debouncethrottlecurrybind
  6. 數學工具: 與數學相關的函式,例如 randomclampsum

使用 Lodash 的好處

1. 簡化程式碼

Lodash 透過提供簡潔且可讀的方法來簡化 JavaScript 常見任務,減少您需要撰寫和維護的程式碼量。

2. 提高性能

Lodash 複合函式模組格式已過性能最佳化,常常超過 JavaScript 原生實現。 這使得它成為處理大型資料集或執行複雜操作的有價值工具。

3. 跨瀏覽器的一致性

JavaScript 行為可能在不同的瀏覽器和環境中有所不同。 Lodash 提供一致的行為,有助於避免跨瀏覽器相容性問題。

4. 模組化方法

Lodash 可以整個或分成較小的模組部分匯入。 這種靈活性允許開發者僅使用所需的方法分類,從而減小應用程式的總捆綁大小。

如何使用 Lodash

安裝

Lodash 可以透過 npm(Node 封包管理器)或 yarn 安裝:

npm install lodash
npm install lodash
SHELL

匯入 Lodash

您可以使用 CommonJS 或 ES6 模組語法將 Lodash 匯入到您的專案。 這是如何做到的:

使用 CommonJS

const _ = require('lodash');
const _ = require('lodash');
JAVASCRIPT

使用 ES6 模組

import _ from 'lodash';
import _ from 'lodash';
JAVASCRIPT

基本用法

讓我們來探討一些常見的用例以及 Lodash 如何簡化這些任務。

陣列操作

  1. 過濾陣列:

    使用 _.filter 來建立一個新陣列,其中包括通過提供的函式實現的測試的元素。

const users = [
  { name: 'John', age: 25 },
  { name: 'Jane', age: 30 },
  { name: 'Jim', age: 35 }
];
const youngUsers = _.filter(users, user => user.age < 30);
console.log(youngUsers); // [{ name: 'John', age: 25 }]
const users = [
  { name: 'John', age: 25 },
  { name: 'Jane', age: 30 },
  { name: 'Jim', age: 35 }
];
const youngUsers = _.filter(users, user => user.age < 30);
console.log(youngUsers); // [{ name: 'John', age: 25 }]
JAVASCRIPT
  1. 尋找唯一陣列:

    使用 _.uniq 來建立一個無重複的陣列版本。

const numbers = [1, 2, 2, 3, 4, 4, 5];
const uniqueNumbers = _.uniq(numbers);
console.log(uniqueNumbers); // [1, 2, 3, 4, 5]
const numbers = [1, 2, 2, 3, 4, 4, 5];
const uniqueNumbers = _.uniq(numbers);
console.log(uniqueNumbers); // [1, 2, 3, 4, 5]
JAVASCRIPT

物件操作

  1. 合併物件:

    使用 _.merge 來將來源物件合併到目標物件中,透過遞歸合併其屬性。

const object1 = { a: 1, b: 2 };
const object2 = { b: 3, c: 4 };
const mergedObject = _.merge(object1, object2);
console.log(mergedObject); // { a: 1, b: 3, c: 4 }
const object1 = { a: 1, b: 2 };
const object2 = { b: 3, c: 4 };
const mergedObject = _.merge(object1, object2);
console.log(mergedObject); // { a: 1, b: 3, c: 4 }
JAVASCRIPT
  1. 省略屬性:

    使用 _.omit 來建立一個由未省略的物件屬性能夠組成的物件。

const object = { a: 1, b: 2, c: 3 };
const newObject = _.omit(object, ['b']);
console.log(newObject); // { a: 1, c: 3 }
const object = { a: 1, b: 2, c: 3 };
const newObject = _.omit(object, ['b']);
console.log(newObject); // { a: 1, c: 3 }
JAVASCRIPT

函式工具

  1. 防抖函式:

    使用 _.debounce 來限制函式被頻繁呼叫。 這確保了函式在特定時間段內只執行一次,不論事件被綁定觸發多少次。

const saveInput = _.debounce(() => {
  console.log('Input saved');
}, 300);
// This will only be executed once every 300 milliseconds, regardless of how many times it's called.
const saveInput = _.debounce(() => {
  console.log('Input saved');
}, 300);
// This will only be executed once every 300 milliseconds, regardless of how many times it's called.
JAVASCRIPT
  1. 節流函式:

    使用 _.throttle 來限制函式在指定間隔內不超過一次執行。

const updatePosition = _.throttle(() => {
  console.log('Position updated');
}, 1000);
// This function will be executed at most once every second.
const updatePosition = _.throttle(() => {
  console.log('Position updated');
}, 1000);
// This function will be executed at most once every second.
JAVASCRIPT

在 Node.js 中使用 Lodash 和 IronPDF 從資料生成 PDF

Lodash 是一個多功能的 JavaScript 工具程式庫,可以簡化許多資料操作任務,而 IronPDF for Node.js 是用於建立和處理 PDF 文件的強大工具。 通過結合這兩個工具,開發者可以有效地從各種資料源生成 PDF,使動態報告、發票和其他文件的建立變得容易。

IronPDF for Node.js

IronPDF 概述 讓開發者可以建立、編輯和提取 PDF 的內容。 它支援從 URL、HTML 文件和 HTML 字串生成 PDF,提供一種靈活的 PDF 建立方法。

 Lodash NPM (開發者如何使用): 圖 2 - IronPDF

欲獲得更詳細的資訊,請存取 IronPDF 文件,以獲得如何使用 IronPDF 功能的深入指南。

從資料生成 PDF 報告

假設您有一個使用者資料列表,並且需要生成一個包括每個使用者資訊的 PDF 報告,格式化為 HTML。 Lodash 可用於調整和格式化資料,而 IronPDF 將處理 PDF 的生成。

逐步指南

  1. 安裝必要的套件:首先,確保在您的 Node.js 專案中安裝了 Lodash 和 IronPDF:
npm i @ironsoftware/ironpdf lodash
npm i @ironsoftware/ironpdf lodash
SHELL
  1. 準備您的資料:假設您有以下使用者資料:
const _ = require('lodash');
const users = [
    { name: 'John Doe', age: 28, email: 'john@example.com' },
    { name: 'Jane Smith', age: 34, email: 'jane@example.com' },
    { name: 'Jim Brown', age: 45, email: 'jim@example.com' }
];
const _ = require('lodash');
const users = [
    { name: 'John Doe', age: 28, email: 'john@example.com' },
    { name: 'Jane Smith', age: 34, email: 'jane@example.com' },
    { name: 'Jim Brown', age: 45, email: 'jim@example.com' }
];
JAVASCRIPT
  1. 使用 Lodash 格式化資料:使用 Lodash 將使用者資料格式化為 HTML 字串:
const formatUserData = (users) => {
    return _.map(users, user => {
        return `
            <div>
                <h2>${_.escape(user.name)}</h2>
                <p>Age: ${user.age}</p>
                <p>Email: ${_.escape(user.email)}</p>
            </div>
        `;
    }).join('');
};

const userHtml = `
    <html>
    <head><title>User Report</title></head>
    <body>
        ${formatUserData(users)}
    </body>
    </html>
`;
const formatUserData = (users) => {
    return _.map(users, user => {
        return `
            <div>
                <h2>${_.escape(user.name)}</h2>
                <p>Age: ${user.age}</p>
                <p>Email: ${_.escape(user.email)}</p>
            </div>
        `;
    }).join('');
};

const userHtml = `
    <html>
    <head><title>User Report</title></head>
    <body>
        ${formatUserData(users)}
    </body>
    </html>
`;
JAVASCRIPT
  1. 使用 IronPDF 生成 PDF:使用 IronPDF 來 透過 HTML 生成 PDF,從已格式化的 HTML 字串:
const { PdfDocument } = require('@ironsoftware/ironpdf');
(async () => {
    const pdfFromHtmlString = await PdfDocument.fromHtml(userHtml);
    await pdfFromHtmlString.saveAs("user_report.pdf");
})();
const { PdfDocument } = require('@ironsoftware/ironpdf');
(async () => {
    const pdfFromHtmlString = await PdfDocument.fromHtml(userHtml);
    await pdfFromHtmlString.saveAs("user_report.pdf");
})();
JAVASCRIPT

這是使用 Lodash 格式化資料後生成的 PDF:

 Lodash NPM (開發者如何使用): 圖 3 - PDF 輸出

結論

在 Node.js 中結合使用 Lodash 與 IronPDF 可以在生成 PDF 文件之前高效地預處理和轉換資料。 Lodash 簡化資料操作,使您的程式碼更具可讀性和可維護性,而 IronPDF 則提供強大的 PDF 建立和操作功能。

IronPDF 授權價格 僅從 $999 開始。

Darrius Serrant
全端軟體工程師(WebOps)

Darrius Serrant擁有邁阿密大學的電腦科學學士學位,並在Iron Software擔任全端WebOps行銷工程師。從小就對程式設計有興趣,他認為計算既神秘又易於理解,成為創意和問題解決的完美媒介。

在Iron Software,Darrius喜歡創造新事物並簡化複雜的概念,使其更易於理解。作為我們的常駐開發人員之一,他還志願教學,將他的專業知識傳授給下一代。

對Darrius來說,他的工作是有意義的,因為它有價值且對社會有真正的影響。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話