Ir para o conteúdo do rodapé
AJUDA DO NODE

Lodash NPM (Como funciona para desenvolvedores)

Lodash é uma biblioteca de utilitários JavaScript moderna que oferece modularidade, desempenho e recursos extras. Isso ajuda os desenvolvedores a escreverem código mais conciso e de fácil manutenção, fornecendo uma ampla gama de funções utilitárias para tarefas comuns de programação.

Neste artigo, vamos explorar o Lodash em detalhes, analisando seus recursos, benefícios e como usá-lo de forma eficaz em seus projetos JavaScript.

O que é Lodash?

Lodash é uma biblioteca JavaScript que oferece métodos utilitários para tarefas comuns de programação, como manipulação de arrays, objetos e strings. Foi criado por John-David Dalton em 2012 como um fork do Underscore.js, outra biblioteca utilitária, com o objetivo de fornecer melhor desempenho e recursos adicionais.

Lodash NPM (Como funciona para desenvolvedores): Figura 1 - Compilação do núcleo do Lodash

Os métodos modulares do Lodash são compatíveis com ambientes modernos, oferecendo funções compostas em diversos formatos de módulo. Sua estrutura principal e sua construção em programação funcional aprimoram a facilidade de uso do JavaScript , simplificando a manipulação de strings e a iteração de arrays. A biblioteca, exportada em diversos formatos de módulo, atende a diferentes necessidades, com manipulação eficiente de objetos e arrays de variáveis. É por isso que o Lodash continua sendo uma das principais escolhas no cenário de bibliotecas JS.

Principais características do Lodash

O Lodash oferece suporte a ambientes modernos e inclui uma ampla variedade de funções utilitárias que podem ser categorizadas em diversos grupos:

  1. Manipulação de Arrays: Funções para trabalhar com arrays, como map , filter , reduce , flatten e uniq .
  2. Manipulação de objetos: Funções para objetos, incluindo assign , keys , values , merge e omit .
  3. Manipulação de strings: Funções para operações com strings como camelCase , capitalize , trim e escape .
  4. Manipulação de coleções: Funções para manipular coleções (arrays ou objetos), como each , groupBy , sortBy e shuffle .
  5. Utilitários de função: Funções para trabalhar com outras funções, incluindo debounce , throttle , curry e bind .
  6. Utilitários matemáticos: Funções relacionadas à matemática, como random , clamp e sum .

Benefícios do uso do Lodash

1. Código Simplificado

O Lodash facilita o JavaScript , fornecendo métodos concisos e legíveis para tarefas comuns, reduzindo a quantidade de código que você precisa escrever e manter.

2. Desempenho aprimorado

Os formatos de módulos de funções compostas do Lodash são otimizados para desempenho, muitas vezes superando as implementações nativas de JavaScript . Isso a torna uma ferramenta valiosa para lidar com grandes conjuntos de dados ou realizar operações complexas.

3. Consistência entre navegadores

O comportamento do JavaScript pode variar entre diferentes navegadores e ambientes. O Lodash proporciona um comportamento consistente, ajudando a evitar problemas de compatibilidade entre navegadores.

4. Abordagem Modular

O Lodash pode ser importado na íntegra ou em partes menores e modulares. Essa flexibilidade permite que os desenvolvedores usem apenas as categorias de métodos de que precisam, reduzindo o tamanho geral do pacote de seus aplicativos.

Como usar o Lodash

Instalação

O Lodash pode ser instalado via npm (Node Package Manager) ou yarn:

npm install lodash
npm install lodash
SHELL

Importando Lodash

Você pode importar o Lodash para o seu projeto usando a sintaxe de módulos CommonJS ou ES6. Eis como fazer:

Utilizando CommonJS

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

Utilizando módulos ES6

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

Uso básico

Vamos explorar alguns casos de uso comuns e como o Lodash simplifica essas tarefas.

Manipulação de matrizes

  1. Filtrando um Array:

    Use _.filter para criar um novo array com elementos que passem no teste implementado pela função fornecida.

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. Encontrando um Array Único:

    Use _.uniq para criar uma versão de um array sem duplicatas.

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

Manipulação de Objetos

  1. Mesclar objetos:

    Use _.merge para mesclar objetos de origem no objeto de destino, mesclando recursivamente suas propriedades.

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. Omissão de propriedades:

    Use _.omit para criar um objeto composto pelas propriedades do objeto que não foram omitidas.

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

Utilitários de função

  1. Eliminando o ruído de uma função:

    Use _.debounce para limitar a frequência com que uma função é chamada. Isso garante que a função seja executada apenas uma vez em um determinado período de tempo, independentemente de quantas vezes o evento ao qual ela está vinculada seja acionado.

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. Limitar a capacidade de uma função:

    Use _.throttle para limitar a execução de uma função a no máximo uma vez por intervalo especificado.

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

Utilizando Lodash com IronPDF para gerar PDFs a partir de dados em Node.js

Lodash é uma biblioteca utilitária JavaScript versátil que pode simplificar muitas tarefas de manipulação de dados, enquanto IronPDF for Node.js é uma ferramenta poderosa para criar e manipular documentos PDF. Ao combinar essas duas ferramentas, os desenvolvedores podem gerar PDFs de forma eficiente a partir de diversas fontes de dados, facilitando a criação de relatórios dinâmicos, faturas e outros documentos.

IronPDF for Node.js

O IronPDF Overview permite que desenvolvedores criem, editem e extraiam conteúdo de PDFs. Ele permite gerar PDFs a partir de URLs, arquivos HTML e strings HTML, oferecendo uma abordagem flexível para a criação de PDFs.

Lodash NPM (Como funciona para desenvolvedores): Figura 2 - IronPDF

Para obter informações mais detalhadas, consulte a Documentação do IronPDF para obter orientações completas sobre como usar as funcionalidades do IronPDF .

Gerando um relatório em PDF a partir de dados

Imagine que você tem uma lista de dados de usuários e precisa gerar um relatório em PDF que inclua as informações de cada usuário formatadas em HTML. O Lodash pode ser usado para manipular e formatar os dados, enquanto o IronPDF cuidará da criação do PDF.

Guia passo a passo

  1. Instale os pacotes necessários: Primeiro, certifique-se de ter o Lodash e o IronPDF instalados em seu projeto Node.js :
npm i @ironsoftware/ironpdf lodash
npm i @ironsoftware/ironpdf lodash
SHELL
  1. Prepare seus dados: Suponha que você tenha os seguintes dados de usuário:
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. Formatar dados com Lodash: Use o Lodash para formatar os dados do usuário em uma string 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. Gerar PDF com IronPDF: Use o IronPDF para gerar um PDF com HTML a partir da string HTML formatada:
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

Aqui está o PDF gerado com os dados formatados usando o Lodash:

Lodash NPM (Como funciona para desenvolvedores): Figura 3 - Saída em PDF

Conclusão

A combinação do Lodash com o IronPDF no Node.js permite pré-processar e transformar dados de forma eficiente antes de gerar documentos PDF. O Lodash simplifica a manipulação de dados, tornando seu código mais legível e fácil de manter, enquanto o IronPDF oferece recursos poderosos de criação e manipulação de PDFs.

Os preços de licenciamento do IronPDF começam em apenas $799.

Darrius Serrant
Engenheiro de Software Full Stack (WebOps)

Darrius Serrant é bacharel em Ciência da Computação pela Universidade de Miami e trabalha como Engenheiro de Marketing WebOps Full Stack na Iron Software. Atraído por programação desde jovem, ele via a computação como algo misterioso e acessível ao mesmo tempo, tornando-a o meio ...

Leia mais

Equipe de suporte de ferro

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim