본문 바로가기
JS

유용한 lodash 숫자 관련 코드 예시 20가지

by memory-log 2024. 1. 1.

JavaScript에서 숫자를 다루는 작업은 많은 경우에 발생하며, Lodash 라이브러리는 이러한 숫자 연산을 보다 쉽게 처리할 수 있도록 도와줍니다. Lodash는 간결하면서도 효율적인 코드를 작성할 수 있도록 다양한 숫자 관련 함수를 제공합니다. 이를 통해 코드의 가독성과 유지보수성을 향상시킬 수 있습니다.

 

 

Lodash 숫자 함수로 개발 생산성 향상

숫자 데이터를 다루는 개발 작업은 대부분의 프로젝트에서 빈번하게 발생합니다. 이러한 숫자 관련 작업을 보다 간편하게 처리하고 생산성을 향상시키기 위해 Lodash 라이브러리를 활용하는 것은 매우 유용합니다. Lodash는 다양한 숫자 관련 함수를 제공하여 코드의 가독성을 높이고, 반복적인 작업을 간소화하여 개발 생산성을 향상시킵니다.

1. 코드의 가독성 향상

Lodash 함수들은 간결하면서도 표현력이 뛰어나기 때문에 코드의 가독성을 향상시킵니다. 복잡한 숫자 연산을 한 줄로 표현할 수 있어 코드의 이해와 유지보수가 용이해집니다.

// 일반적인 방법
const sum = numbers.reduce((acc, num) => acc + num, 0);

// Lodash 사용
const sum = _.sum(numbers);

2. 다양한 숫자 연산을 한 줄로 처리

Lodash는 합계, 평균, 최소값, 최대값 등 다양한 숫자 연산을 간단한 함수로 제공합니다. 이를 통해 다양한 숫자 관련 작업을 간편하게 처리할 수 있습니다.

// 숫자 배열의 평균값 계산
const average = _.mean(numbers);

// 숫자 배열에서 최소값과 최대값 찾기
const minNum = _.min(numbers);
const maxNum = _.max(numbers);

3. 데이터 처리 효율화

Lodash는 내부적으로 성능 최적화가 잘 이루어져 있어 대용량의 데이터셋에서도 높은 성능을 유지합니다. 이는 개발자가 대규모 데이터를 다룰 때에도 효과적으로 사용할 수 있음을 의미합니다.

4. 유연한 활용

Lodash 함수들은 다양한 데이터 타입과 함께 사용할 수 있어 프로젝트에서 발생하는 다양한 숫자 관련 요구사항에 적용할 수 있습니다. 이는 유연성을 확보하면서도 일관된 코드 작성을 가능케 합니다.

// 숫자 이외의 값들이 섞인 배열에서 평균값 계산
const mixedValues = [1, 'apple', 2, 'banana', 3];
const average = _.meanBy(mixedValues, value => (_.isNumber(value) ? value : 0));

Lodash를 활용하면 이러한 특징들이 함께 작업을 보다 효율적으로 만들어주어 개발 생산성을 향상시킬 수 있습니다. 숫자 관련 작업에서 Lodash의 활용은 빠른 개발과 효율적인 코드 작성을 지원하여 프로젝트의 성공적인 진행에 기여합니다.

 

lodash 숫자 연산 예시

1. 배열의 합계 계산

const numbers = [1, 2, 3, 4, 5];
const sum = _.sum(numbers);
console.log(sum); // 15

이 코드는 배열 numbers의 모든 요소의 합계를 계산합니다. _.sum 함수는 배열의 모든 숫자를 더해 반환합니다.

2. 배열의 평균값 계산

const numbers = [10, 20, 30, 40, 50];
const average = _.mean(numbers);
console.log(average); // 30

_.mean 함수는 배열의 숫자들의 평균값을 계산합니다. 위 코드는 배열 numbers의 평균값을 출력합니다.

3. 배열에서 가장 작은/큰 값 찾기

const numbers = [5, 10, 3, 8, 1];
const min = _.min(numbers);
const max = _.max(numbers);
console.log(min, max); // 1, 10

_.min은 배열에서 가장 작은 값을, _.max는 배열에서 가장 큰 값을 찾습니다. 위 코드는 배열 numbers에서 가장 작은 값과 가장 큰 값을 출력합니다.

4. 배열의 중간값 계산

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

_.median 함수는 배열의 중간값을 계산합니다. 위 코드는 배열 numbers의 중간값을 출력합니다.

5. 배열의 특정 범위 요소 추출

const numbers = [1, 2, 3, 4, 5];
const slicedArray = _.slice(numbers, 1, 4);
console.log(slicedArray); // [2, 3, 4]

_.slice 함수는 배열에서 특정 범위의 요소를 추출합니다. 위 코드는 배열 numbers에서 인덱스 1부터 3까지의 요소를 추출하여 출력합니다.

6. 배열의 요소 무작위 섞기

const numbers = [1, 2, 3, 4, 5];
const shuffledArray = _.shuffle(numbers);
console.log(shuffledArray); // (무작위 배열)

_.shuffle 함수는 배열의 요소를 무작위로 섞습니다. 위 코드는 배열 numbers의 요소를 무작위로 섞은 결과를 출력합니다.

7. 배열의 요소를 특정 값으로 채우기

const filledArray = _.fill(new Array(5), 0);
console.log(filledArray); // [0, 0, 0, 0, 0]

_.fill 함수는 배열의 모든 요소를 지정된 값으로 채웁니다.

8. 배열의 특정 값 제외 필터링

const numbers = [1, 2, 3, 4, 5];
const filteredArray = _.without(numbers, 3);
console.log(filteredArray); // [1, 2, 4, 5]

_.without 함수는 배열에서 특정 값을 제외한 새로운 배열을 반환합니다.

9. 배열의 각 요소에 함수 적용

const squaredValues = _.map([1, 2, 3, 4, 5], num => num * num);
console.log(squaredValues); // [1, 4, 9, 16, 25]

_.map 함수는 배열의 각 요소에 주어진 함수를 적용한 결과를 반환합니다.

10. 배열의 고유한 값 추출

const duplicateArray = [1, 2, 2, 3, 4, 4, 5];
const uniqueValues = _.uniq(duplicateArray);
console.log(uniqueValues); // [1, 2, 3, 4, 5]

_.uniq 함수는 배열에서 중복된 값을 제외한 고유한 값들을 반환합니다.

11. 배열의 요소를 지정한 개수만큼 반복

const repeatedValues = _.times(3, () => 'Hello');
console.log(repeatedValues); // ['Hello', 'Hello', 'Hello']

_.times 함수는 주어진 함수를 지정된 횟수만큼 반복하여 배열을 생성합니다.

12. 배열의 요소를 특정 규칙에 따라 변형

const transformedArray = _.map([1, 2, 3, 4, 5], num => num * 2);
console.log(transformedArray); // [2, 4, 6, 8, 10]

_.map 함수를 사용하여 배열의 각 요소를 특정 규칙에 따라 변형시킬 수 있습니다.

13. 배열에서 특정 조건을 만족하는 요소 필터링

const evenNumbers = _.filter([1, 2, 3, 4, 5], num => num % 2 === 0);
console.log(evenNumbers); // [2, 4]

_.filter 함수는 배열에서 특정 조건을 만족하는 요소만 필터링합니다.

14. 배열의 요소를 특정 값으로 그룹화

const groupedByType = _.groupBy([1, 'apple', 2, 'banana', 3, 'apple'], value => typeof value);
console.log(groupedByType); // { 'number': [1, 2, 3], 'string': ['apple', 'banana', 'apple'] }

_.groupBy 함수는 배열의 요소를 특정 기준에 따라 그룹화합니다.

15. 배열의 요소를 특정 속성 기준으로 정렬

const users = [{ name: 'Alice', age: 25 }, { name: 'Bob', age: 30 }, { name: 'Charlie', age: 22 }];
const sortedByAge = _.sortBy(users, 'age');
console.log(sortedByAge);

_.sortBy 함수는 배열의 요소를 특정 속성을 기준으로 정렬합니다.

댓글