200422 TIL object, integer-like

» 1.5막, TIL (Today I Learned)

object, integer-like

오브젝트가 키 값을 숫자로 가졌을때, 정렬 순서는 어떻게 될까?? 2020-04-18 TIL에서 알게된 것: object에서 key값이 number면 number 오름차순으로 아니면 넣은 순으로 출력됨 이었기 때문에 ‘0000’도 넣은 순으로 출력될 줄 알았다.

BUT…

object key order 죽이고 싶다

Screen Shot 2020-04-22 at 5 53 36 PM

0000부터 2645까지 넣을건데, 1000이 들어가는 순간 0000 ~ 0945가 뒤로 밀린다.

sort도 해보고… sort도 해보고… 매우 삽질을 하다가 이 글을 알게 되었다.

‘1’, ‘2’ 이런 값은 integer-like로 판단해서 오름 차순으로 정렬된다.


그래서 map을 쓰라는 팁을 보고 처음으로 map을 써보았다.

let result = new Map();
for (let i = 0; i < 27; i++) {
    for (let j = 0; j < min.length; j++) {
        let text;
        if (i < 10) {
            text = '0' + i + min[j];
        } else text = '' + i + min[j];
        
        result.set(text, []);
    }
}

잘-됨