Omit Keys
Omit Keys - Explanation
Problem Summary
Write a function that returns an object without the specified keys.
Go to Problem →Detailed Explanation
이 문제는 **Object.entries()와 Object.fromEntries()**를 조합하여 객체에서 특정 키를 제외하는 방법을 학습합니다. ## 핵심 개념: 객체 변환 파이프라인 객체를 배열로 변환 → 필터링 → 다시 객체로 변환하는 패턴입니다. ### 접근 방법 ```javascript Object.fromEntries( Object.entries(obj).filter(([k]) => !keys.includes(k)) ) ``` ### 단계별 분석 1. Object.entries(obj): 객체를 [키, 값] 배열로 2. filter: 제외할 키 필터링 3. Object.fromEntries: 다시 객체로 변환 ### 실행 예시 ```javascript omit({a: 1, b: 2, c: 3}, ['b']) // entries: [['a', 1], ['b', 2], ['c', 3]] // filter: [['a', 1], ['c', 3]] // result: {a: 1, c: 3} ``` ### pick과 omit의 차이 ```javascript pick(obj, ['a']) // 포함할 키만 선택 omit(obj, ['a']) // 제외할 키만 선택 ``` 이 패턴은 Lodash의 omit 함수와 동일한 동작을 합니다.
Solution Code
function omit(obj, keys) {
return Object.fromEntries(
Object.entries(obj).filter(([k]) => !keys.includes(k))
);
}Key Concepts from This Problem
Common Mistakes
Hints
Complexity Analysis
Time Complexity
O(n*m)
Space Complexity
O(n)
Uses memory proportional to input size