javascript에서 키-값 쌍을 같는 자료구조를 사용 할 때에, Object로 많이 진행 할 것이다. 하지만, 사용할 수 있는 기능이 그리 많지는 않다는 것을 이야기하고 싶다.
간단하게 오브젝트내의 키를 몇개나 정의하였는가? 에 해당하는 코드는 아래와 같다.
const map = new Map()
const obj = {}
map.set('a', 'a')
obj.a = 'a'
map.set('b', 'b')
obj.b = 'b'
map.set('c', 'c')
obj.c = 'c'
console.log(map.size)
console.log(Object.keys(obj).length)
사실 이것은 그렇게 혹 할만한 내용은 아닐 것 같다. 하지만 이건 누군가에게는 좋은 점이라고 볼 수 있을것이다.
const map = new Map()
const obj = {}
map.set(1, 'b')
obj["1"] = 'b'
map.set(0, 'a')
obj["0"] = 'a'
map.set(2, 'c')
obj["2"] = 'c'
console.log('map', [...map].map(([key, value]) => value).join(', '))
// map [b, a, c]
console.log('obj', Object.entries(obj).map(([key, value]) => value).join(', '))
// obj [a, b, c]
사실대로 이야기 하자면, 키-밸류인데 키가 생성된 순서대로 열거하는 것을 보장한다? 이건 꽤나 많은 곳에 사용 될 수 있다.
중복을 제거하는데 순서를 보장해야한다거나 하는 등..
댓글
댓글 쓰기