그림 그리는 개발자
  • [005] d3.InternSet
    2022년 06월 28일 20시 56분 15초에 업로드 된 글입니다.
    작성자: 루루개발자

     

    d3.InternSet


    d3.InternSet 은 javascript 의 Set 과 동일한 기능을 하는 클래스 입니다. 똑같이 Value 를 add 할 수 있고 Value 를 가지고 있는지 여부와 size 등을 조회할 수 있습니다.

     

     

    예제


    만약 아래와 같은 코드가 있다고 해봅시다.

    const jsSet = new Set();
    jsSet.add(new Date(2021, 4, 1));
    jsSet.add(new Date(2022, 3, 8));
    jsSet.add(new Date(2022, 3, 8));
    console.log(`jsSet`, jsSet);
    
    console.log(`==============================`);
    
    const d3InternSet = new d3.InternSet();
    d3InternSet.add(new Date(2021, 4, 1)); 
    d3InternSet.add(new Date(2022, 3, 8));
    d3InternSet.add(new Date(2022, 3, 8));
    console.log(`d3InternSet`, d3InternSet);

     

    결과는 다음과 같습니다.

     

     

    javascript 의 Set 에서는 Date를 value 로 add 하게 되면 객체의 id 값이 다 다르기 때문에 날짜가 동일하더라도 별개의 value 로 인식되지만, d3.InternSet 은 Date 객체의 id 값이 다르더라도 해당 Date 객체가 가리키고 있는 날짜가 동일하다면 같은 value 로 인식하여 작동합니다. 

     

     

    참고


    https://github.com/mbostock/internmap

     

    GitHub - mbostock/internmap: Map and Set with automatic key interning

    Map and Set with automatic key interning. Contribute to mbostock/internmap development by creating an account on GitHub.

    github.com

     

    'Node.js & Javascript & Typescript > d3.js' 카테고리의 다른 글

    [007] d3.ZoomTransform  (0) 2022.06.30
    [006] d3.Voronoi  (0) 2022.06.29
    [004] d3.InternMap  (0) 2022.06.27
    [003] d3.FormatSpecifier  (0) 2022.06.20
    [002] d3.Delaunay  (0) 2022.06.13
    댓글