๐Ÿš€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์ง‘ํ•ฉ ์ด๋ก ์˜ ํž˜: ๋ฐ์ดํ„ฐ์˜ ํ•ฉ์ง‘ํ•ฉ๊ณผ ์ฐจ์ง‘ํ•ฉ์„ ์œ„ํ•œ Lodash ํ™œ์šฉ

๋ฐœํ–‰: (2025๋…„ 12์›” 28์ผ ์˜ค์ „ 07:49 GMT+9)
2 min read
์›๋ฌธ: Dev.to

Source: Dev.to

O Conceito de Conjunto (Set)

Vamos ver como o Lodash nos ajuda a aplicar isso na prรกtica, comparando-o com o cรณdigo JavaScript โ€œpuroโ€.

Exemplo 1: Uniรฃo (Combinando Listas sem Duplicatas)

Objetivo: Obter uma lista รบnica de todos os usuรกrios.

const A = [1, 2, 3];
const B = [3, 4, 5];

// Usamos o Set nativo para desduplicar
const uniao = [...new Set([...A, ...B])];

// Resultado: [1, 2, 3, 4, 5]

Com Lodash (_.union)

const A = [1, 2, 3];
const B = [3, 4, 5];
const uniao = _.union(A, B);

// Resultado: [1, 2, 3, 4, 5]

Ganho: O Lodash reduz a operaรงรฃo complexa de concatenaรงรฃo e desduplicaรงรฃo a uma รบnica funรงรฃo, tornando a intenรงรฃo do cรณdigo imediata. A legibilidade รฉ mรกxima.

Exemplo 2: Diferenรงa (Encontrando Exclusividades)

JavaScript Normal (Manual)

const A = [1, 2, 3, 6];
const B = [3, 4, 5];

// Usamos filter e includes, com complexidade O(N*M)
const diferenca = A.filter(item => !B.includes(item));

// Resultado: [1, 2, 6]

Com Lodash (_.difference)

const A = [1, 2, 3, 6];
const B = [3, 4, 5];
const diferenca = _.difference(A, B);

// Resultado: [1, 2, 6]

Ganho: Alรฉm da simplicidade sintรกtica, _.difference costuma ser implementado de forma mais eficiente (utilizando hash maps internamente) do que a soluรงรฃo filter + includes manual, oferecendo melhor performance em grandes conjuntos de dados. Ele transforma uma lรณgica imperativa (filter) em uma declaraรงรฃo de conjunto (difference).

Conclusรฃo: Por Que Mudar a Mentalidade?

Adotar a mentalidade da Teoria dos Conjuntos ao manipular arrays em JavaScript simplifica o cรณdigo, melhora a legibilidade e pode trazer ganhos de performance. Bibliotecas como o Lodash fornecem funรงรตes prontas que expressam claramente operaรงรตes de uniรฃo, diferenรงa, interseรงรฃo e outras, permitindo que vocรช escreva cรณdigo mais declarativo e focado na lรณgica de negรณcio.

Back to Blog

๊ด€๋ จ ๊ธ€

๋” ๋ณด๊ธฐ ยป

์™œ push์™€ pop์€ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋А๊ปด์ง€๊ณ  shift๋Š” ๊ทธ๋ ‡์ง€ ์•Š์€๊ฐ€

JavaScript ๋ฐฐ์—ด์ด ์กฐ์šฉํžˆ ์ตœ์ ํ™”ํ•˜๋Š” ๊ฒƒ์€ ๋ฌด์—‡์ผ๊นŒ? ๋‚ด๊ฐ€ ์ฒ˜์Œ JavaScript ๋ฐฐ์—ด์„ ๋‹ค๋ฃจ๊ธฐ ์‹œ์ž‘ํ–ˆ์„ ๋•Œ, push์™€ pop์€ ์ฆ‰์‹œ ์ง๊ด€์ ์ด์—ˆ๋‹ค. ๋ฌด์–ธ๊ฐ€๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉดโ€ฆ

JS์—์„œ ํ•จ์ˆ˜, ๊ฐ์ฒด ๋ฐ ๋ฐฐ์—ด.

ํ•จ์ˆ˜ ํ•จ์ˆ˜๋Š” ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ ๋ธ”๋ก์ž…๋‹ˆ๋‹ค. JavaScript์—์„œ ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์„ธ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค: 1. Function D...