karolus
640
2019-11-16 15:52:12
3
199

javascript array 를 key 로 접근


자바개발자라 array 는 숫자로만 가져와야 하는지 알고있었는데

var a = [];
a['asd'] = {cd:"1"};
 
console.log(a.asd.cd) // 1

이런식으로 저장해서 뽑아오는게 가능하더라구요.

이방식으로 코드값저장해서 불러오는데 쓰려고 하는데 

obj형식이 아닌 array 타입으로 써도 되는지와 차이점에대해서 알고 싶습니다.


0
0
  • 답변 3

  • 곰개발자
    3k
    2019-11-16 16:17:30

    시도한 타입은 array가 아니라 암시적으로 map입니다. 


    0
  • karolus
    640
    2019-11-16 18:38:44

    감사합니다 관련 키워드로 검색해보겠습니다

    0
  • 아범테크
    519
    2019-11-16 21:38:10 작성 2019-11-16 21:50:54 수정됨

    곰개발자 님

    저거 array맞습니다.

    모든 자바스크립트 오브젝트는 다 map같은 속성을 가질 수 있어요. array도 예외없어요. JS의 array는 거기에 length 등 특수한 속성과 내부 어래이 자료구조를 추가해서 array 처럼 동작하게 합니다. 여전히 오브젝트로서 속성을 가질 수 있기 때문에 맵같이 속성을 추가해서 접근이 가능해요.


    MDN 영어문서를 읽어보세요: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array

    Arrays cannot use strings as element indexes (as in an associative array) but must use integers. Setting or accessing via non-integers using bracket notation (or dot notation) will not set or retrieve an element from the array list itself, but will set or access a variable associated with that array's object property collection.

    2
  • 로그인을 하시면 답변을 등록할 수 있습니다.