Library/Lodash

๐Ÿ“š Lodash ๋ฐฐ์—ด ์กฐ์ž‘ ํ•จ์ˆ˜ ๋ชจ์Œ

์ธํŒŒ_ 2021. 11. 26. 12:41

lodash

Lodash - ๋ฐฐ์—ด ์กฐ์ž‘ ํ•จ์ˆ˜ ์ •๋ฆฌ

 

_.size()

  • length์™€ ๊ฐ™๋‹ค๊ณ  ๋ณด๋ฉด๋œ๋‹ค.
  • ํ•˜์ง€๋งŒ ๋ฐฐ์—ด ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ฌธ์ž์—ด, ๊ฐ์ฒด๋„ ๊ฐ™์€ ๋ฉ”์†Œ๋“œ๋กœ length๋ฅผ ๊ตฌํ• ์ˆ˜ ์žˆ๋‹ค.
_.size([1, 2, 3])
// => 3

_.size({ 'a': 1, 'b': 2 })
// => 2

_.size('apple')
// => 5

โ€‹

_.constant()

  • ๋ฐ˜ํ™˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ด์ฃผ๋Š” ํ•จ์ˆ˜์ด๋‹ค.
  • ๋‹จ๋…์œผ๋กœ๋Š” ๊ฑฐ์˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , ๋‹ค๋ฅธ Lodash ํ•จ์ˆ˜๋“ค๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•œ๋‹ค.
_.constant(0);
// => 0

_.constant({ a: 1 });
// => { a: 1 }

โ€‹

_.times()

  • ์ฝœ๋ฐฑํ•จ์ˆ˜ ์กฐ๊ฑด์— ๋งž๊ฒŒ ๋ฐ˜๋ณตํšŸ์ˆ˜๋งŒํผ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  • ์ดˆ๊ธฐํ™”๋ฅผ ์‹œํ‚ฌ ๋•Œ ์œ ์šฉํ•˜๋‹ค.
_.times(3, _.constant(0));
// => [0, 0, 0]

 

_.compact()

  • ์ธ์ž๋กœ ๋ฐฐ์—ด์„ ๋ฐ›์œผ๋ฉด, ๋ฐฐ์—ด ๋‚ด์— ์žˆ๋Š” false, null, 0, ๋นˆ๊ฐ’, undefined, NaN์„ ๋ชจ๋‘ ์ œ๊ฑฐํ•˜๊ณ  ๋ฐ˜ํ™˜
_.compact([0, 1, false, 2, '', 3]);
// => [1, 2, 3]

โ€‹

_.take()

  • ๋ฐฐ์—ด์—์„œ ์•ž์—์„œ๋ถ€ํ„ฐ n๊ฐœ์˜ ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
_.take([3, 5, 4, 7, 9], 3); // ์ฐจ๋ก€๋กœ 3๊ฐœ๋ฅผ ๊ฐ€์ ธ์˜ด
// => [3, 5, 4]

โ€‹

_.zip()

  • ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ฐฐ์—ด๋“ค์„ ๋ฐ›์œผ๋ฉด, ์ฒซ๋ฒˆ์งธ ์ธ์ž๋ผ๋ฆฌ, ๋‘๋ฒˆ์งธ ์ธ์ž๋ผ๋ฆฌ ... ํ•ด์„œ ํ•ฉ์ณ ์ƒˆ๋กœ์ด ๋ฐฐ์—ด์„ ์ƒ์„ฑ
_.zip(['a', 'b'], [1, 2], [true, false]);
// => [['a', 1, true], ['b', 2, false]]

โ€‹

_.flatten()

  • ๊ณ ์ฐจ์› ๋ฐฐ์—ด์„ ํ•œ ์ฐจ์› ๋Œ์–ด์˜ฌ๋ ค ๋ฐ˜ํ™˜
_.flatten([1, [2, [3, [4]], 5]]);
// => [1, 2, [3, [4]], 5]

โ€‹

_.flattenDeep()

  • ๊ณ ์ฐจ์› ๋ฐฐ์—ด์„ ์ „๋ถ€ ๋Œ์–ด์˜ฌ๋ ค 1์ฐจ์› ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜
_.flattenDeep([1, [2, [3, [4]], 5]]);
// => [1, 2, 3, 4, 5]

โ€‹

_.flattenDepth()

  • ๊ณ ์ฐจ์› ๋ฐฐ์—ด์„ ์ธ์ž์˜ ๊ฐ’ ๋งŒํผ, ์ฐจ์› ๋Œ์–ด์˜ฌ๋ ค ๋ฐ˜ํ™˜
var array = [1, [2, [3, [4]], 5]];
 
_.flattenDepth(array, 1);
// => [1, 2, [3, [4]], 5]
 
_.flattenDepth(array, 2);
// => [1, 2, 3, [4], 5]

โ€‹

_.range()

  • ์ธ์ž๋ฅผ ์ฃผ๋ฉด ๊ทธ ๋ฒ”์œ„๋งŒํผ ์ˆœ์ฐจ ๋ฐฐ์—ด์„ ์ƒ์„ฑ
  • ์˜ค๋ฆ„์ฐจ์ˆœ์ด๋‚˜ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ˆซ์ž๋กœ ์ด๋ค„์ง„ ๋ฐฐ์—ด์„ ๋งŒ๋“ค ๋•Œ ์“ด๋‹ค.
  • ๊ฒŒ์‹œํŒ์˜ ํŽ˜์ด์ง€๋ฅผ ๋„˜๊ธธ ์ˆ˜ ์žˆ๋Š” ์ˆซ์ž๋ฅผ ํ‘œ์‹œํ•  ๋•Œ ์“ด๋‹ค.
_.range(4);
// => [0, 1, 2, 3]
 
_.range(-4);
// => [0, -1, -2, -3]
 
_.range(1, 5);
// => [1, 2, 3, 4]
 
_.range(0, 20, 5); // 3๋ฒˆ์งธ ์ธ์ˆ˜๋Š” ์ฆ๊ฐ€/๊ฐ์†Œ ๊ฐ’
// => [0, 5, 10, 15]
 
_.range(0, -4, -1);
// => [0, -1, -2, -3]
 
_.range(1, 4, 0);
// => [1, 1, 1]

โ€‹

_.sample()

  • ์ธ์ž๊ฐ’ ์ค‘์— ๋žœ๋ค์œผ๋กœ ๊ฐ’์„ ๋ฆฌํ„ด
_.sample([1, 2, 3, 4]);
// => 2

โ€‹

_.sampleSize()

  • ์ฝœ๋ ‰์…˜์—์„œ ์ถ”์ถœ ๊ฐฏ์ˆ˜ ๋งŒํผ ๋žœ๋ค๊ฐ’ ๋ฆฌํ„ด
// _.sampleSize( ์ฝœ๋ ‰์…˜, [์ถ”์ถœ ๊ฐฏ์ˆ˜=1])
_.sampleSize(_.range(1, 45), 7);
// => ๋กœ๋˜ ๋ฒˆํ˜ธ ์ถ”์ถœ
// => 1 ~ 44 ๋ฒˆํ˜ธ์ค‘ 7๊ฐœ ๋žœ๋ค๋ฝ‘

# ์ฐธ๊ณ ์ž๋ฃŒ

https://www.geeksforgeeks.org/lodash-introduction/?ref=gcse

https://lodash.com/docs/4.17.15

https://runebook.dev/ko/docs/lodash/-index-