Library/Lodash
๐ Lodash ๋ฐฐ์ด ์กฐ์ ํจ์ ๋ชจ์
์ธํ_
2021. 11. 26. 12:41
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-