DrMaemi / blog

1 stars 0 forks source link

[Typescript] Array, Map, Set API #114

Open DrMaemi opened 1 year ago

DrMaemi commented 1 year ago

Array

Map

기타

Map 타입의 두 객체 `before`, `after`가 있을 때 before의 key들과 after의 key들을 각각 set으로 만든 뒤 차집합한 결과를 저장하는 코드 ```ts // 예시 객체 const before: Map = new Map(); before.set("key1", "value1"); before.set("key2", "value2"); before.set("key3", "value3"); const after: Map = new Map(); after.set("key2", "value2"); after.set("key3", "value3"); after.set("key4", "value4"); // before 객체의 키들을 Set으로 변환 const beforeKeysSet = new Set(before.keys()); // after 객체의 키들을 Set으로 변환 const afterKeysSet = new Set(after.keys()); // 두 Set의 차집합을 구함 const difference = new Set([...beforeKeysSet].filter((key) => !afterKeysSet.has(key))); console.log(difference); ```
Set이 아니라 Array를 만들어서 차집합 ```ts // 예시 객체 const before: Map = new Map(); before.set("key1", "value1"); before.set("key2", "value2"); before.set("key3", "value3"); const after: Map = new Map(); after.set("key2", "value2"); after.set("key3", "value3"); after.set("key4", "value4"); // before 객체의 키들을 Set으로 변환 const beforeKeysSet = new Set(before.keys()); // after 객체의 키들을 Set으로 변환 const afterKeysSet = new Set(after.keys()); // 두 Set의 차집합을 구함 const difference = new Set([...beforeKeysSet].filter((key) => !afterKeysSet.has(key))); console.log(difference); ```
Nested Map 타입 정의 ```ts type NestedMap = Map>; function getNestedMap(): NestedMap { return new Map([ ["key1", new Map([ ["key2", new Map([ ["key3", []] ])] ])] ]); } ```

A. 참조