Library/Lodash

๐Ÿ“š Lodash ๋ฐฐ์—ด โฎ‚ ๊ฐ์ฒด ๋ณ€ํ™˜ ํ•จ์ˆ˜ ๋ชจ์Œ

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

lodash

Lodash - ๋ฐฐ์—ด โฎ‚ ๊ฐ์ฒด ๋ณ€ํ™˜ ํ•จ์ˆ˜ ์ •๋ฆฌ

 

_.values() / _.keys()

  • object.values() / object.keys() ์™€ ๊ฐ™๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค. ํ‚ค/๋ฐธ๋ฅ˜๊ฐ’๋“ค์„ ๋”ฐ๋กœ ๋ฌถ์–ด ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜.
  • ๋ฌธ์ž์—ด์ด ์ธ์ˆ˜์ผ๊ฒฝ์šฐ, split('')ํšจ๊ณผ๋„ ์žˆ์Œ.
_.values({ a: 1, b: 2, c: [3, 4] });
// => [ 1, 2, [3, 4] ]

_.values('hi');
// => ['h', 'i']

 

_.groupBy()

  • ์ปฌ๋ ‰์…˜์„ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜.
  • ํ‚ค๊ฐ’์€ ๋ฌด์–ธ๊ฐ€ ์˜๋ฏธ์žˆ๋Š” ๊ธฐ์ค€์ด ๋˜๋Š” ๊ฒƒ์„ ์„ค์ •ํ•ด ์ ์šฉํ•จ
  • ๋‘๋ฒˆ์งธ ์ธ์ˆ˜๋กœ๋Š” ๋ฌด์—‡์„ ๊ธฐ์ค€์œผ๋กœ ์˜๋ฏธ์žˆ๋Š” key๋กœ ์‚ฌ์šฉํ• ๊นŒ ์ •ํ•จ.
_.groupBy([6.1, 4.2, 6.3], Math.floor); // ์ •์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ด์„œ ๊ทธ๊ฒƒ์„ ํ‚ค:๋ฐธ๋ฅ˜๋กœ ์˜๋ฏธ์žˆ๊ฒŒ ์งฌ
// => { '4': [4.2], '6': [6.1, 6.3] }
 
// The `_.property` iteratee shorthand.
_.groupBy(['one', 'two', 'three'], 'length'); // ๋ฌธ์ž์—ด ๊ธธ์ด๋กœ ํ‚ค:๋ฐธ๋ฅ˜๋กœ ์˜๋ฏธ์žˆ๊ฒŒ ์งฌ
// => { '3': ['one', 'two'], '5': ['three'] }

โ€‹

_.toPairs()

  • ๊ฐ์ฒด์˜ ํ‚ค:๋ฐธ๋ฅ˜๋ฅผ ํŽ˜์–ด๋กœ ๋งบ์–ด ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜
var GfG = { 'x': 1, 'y': 2 }

console.log(_.toPairs(GfG)); // [['x', 1], ['y', 2]]โ€‹
function Foo() {
  this.a = 1;
  this.b = 2;
}
 
Foo.prototype.c = 3; // ํ”„๋กœํ† ํƒ€์ž… ์ƒ์†์€ ํฌํ•จ๋˜์ง€ ์•Š์Œ.
 
_.toPairs(new Foo);
// => [['a', 1], ['b', 2]] (iteration order is not guaranteed)โ€‹

โ€‹

_.fromPairs()

  • _.toPairs()์˜ ๋ฐ˜๋Œ€๋ฒ„์ ผ.
  • ์œ ์‚ฌ๋ฐฐ์—ด์„ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜
let pairs = [
    ['name', 'lodash'], 
    ['live', 'npm'], 
    ['used', 'nodejs']
]
  
let obj = _.fromPairs(pairs);
  
console.log(obj)// { name: 'lodash', live: 'npm', used: 'nodejs' }

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

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

https://lodash.com/docs/4.17.15

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