2015-01-18 2 views
-6

배열 내에 json의 배열이 있습니다. 어쨌든 배열의 이름을 나열 할 수 있습니다. 5 개의 다른 배열을 포함하는 하나의 배열이 존재하는 경우 모든 배열을 나열하는 방법이 있지만 내용은 제외하고 이름은 나열합니다. 예를json에서 배열 이름을 나열하는 방법

안녕을 위해 자바 스크립트

에서이 작업을 수행 할 수있는 방법이있다, 나는 당신의 대답의 JIST를 가지고 있지만 난 그냥 명확히하고 싶다. 다음과 같이 내가

{ 
"array1":[ { 
     "array2":[ { 
       "array3":[ ] } ], 
     "array21:[ { 
}] 
} 

] 
} 

내가 먼저 난 후하는 array1의 모든 배열 다음 배열 2의 모든 배열 array3의 모든 배열 목록을 알고 싶어, JSON이있다. 마치 array1에있는 모든 배열을 나열하면 결과 array2와 array2를 얻어야합니다. 이것이 가능한가? 귀하의 답변에 따르면 배열은 따라서 불가능하지만 그냥 명확하게 명명 수 없습니다

+0

배열은 익명 - 방금 정렬 된 요소 컬렉션입니다. 그래서, 당신은 어떤 이름을 언급하고 있습니까? 그것들은 특정 키의 값으로 객체 내에 포함되어 있습니까? 데이터 샘플과 예상 결과를 사용하여 질문을 명확하게 설명해 주시겠습니까? –

+0

* 키 *를 인쇄하는 방법을 묻는 중입니까? "자바 스크립트 개체 목록 키"를 검색하는 Google (세계에서 가장 큰 검색 엔진)을 사용해 보셨습니까? – h2ooooooo

+0

@ h2ooooooo 답장을 보내 주셔서 감사합니다. – hispeed

답변

0

당신은 오해 데이터 형식입니다. 배열은 익명 형식이므로 요소의 이름을 지정하지 않아도됩니다. 배열의 이름을 알고 싶으면이 구조체를 사전 (map)으로 변경해야합니다.

var arrayMapping = { 
'arr1': [...], 
'arr2': [...] 
}; 

그러나 그렇게함으로써 모든 배열이 고유 한 이름을 가지게됨을 기억하십시오. 당신은 다음과 같이 당신의 배열에 액세스 할 수 있습니다 것입니다

arrayMapping['array1'] 

그러나 어떤 이유로 당신은 당신이 arrayIndex에 이름을 매핑 할 경우, 도움말 객체를 생성 할 필요가 다음이 데이터 구조를 변경할 수없는 경우. 하지만 코드 복잡성이 증가하고 getter를 사용하여 일종의 util 클래스로 래핑해야합니다. 당신이 arr1 내부에 배열의 모든 anmes을 나열 할 경우

var arrayMapping = { 
'arr1': { 
    'arr1_1': [], 
    'arr1_2': [], 
    'arr1_3': [], 
    'arr1_4': [], 
    'arr1_5': [], 
    }, 
... 
}; 

되지 않음 : 배열 5 개 어레이를 포함하고 이름으로 그들에게 얻고 싶은 경우에

는, 당신은 구조의 이러한 종류의 필요 다음과 같이해야합니다.

Object.keys(arrayMapping['arr1'])// it will list arr1_1,...,arr1_5 
+0

안녕하세요, 저는 답변에 대한 답변을 얻었지만 명확히하고 싶습니다. 나는 다음과 같이 json을 가지고있다. { "array1": [{ "array2": [{ "array3": []}], "array21 : [{}]}]}, array1 다음 배열 array2에있는 모든 배열을 누른 다음 array3에있는 모든 배열. 내가 array1에있는 모든 배열을 나열하는 경우처럼 나는 결과 array2 및 array2 등등을 얻어야합니다.이 가능한가요? 귀하의 답변에 따라 배열 따라서 수 없습니다 불가능하지만 그냥 명확하게 – hispeed

+0

내 게시물을 업데이 트했습니다. 희망이 당신의 문제에 대한 답변을합니다. 당신이 혼란스러워하는 경우,지도/사전 및 배열 데이터 구조에 대한 자세한 내용을 읽어보십시오. 그들을 이해하면 도움이 될 것입니다 :) – Beri

관련 문제