...
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-
인용한 부분에 있어 만일 누락된 출처가 있다면 반드시 알려주시면 감사하겠습니다
이 글이 좋으셨다면 구독 & 좋아요
여러분의 구독과 좋아요는
저자에게 큰 힘이 됩니다.