2017-04-05 1 views
0

나는 불변 목록 배열을 가지고 있습니다. array = [List, List] 각 목록에는지도가 들어 있습니다. 각 목록의지도가 포함 된 배열을 만들고 싶습니다.es6에지도의 다차원 배열 만들기

const content = []; 
    for (let i = 0; i < types.length; i += 1) { 
     let j = 0; 
     while (j < types[i].length) { 
     content[i] = types[i].get(j); 
     j += 1; 
     } 
    } 

을하지만 난 console.log이 나에게 하늘의 배열을 보여줍니다이 때 내 코드는 다음과 같다. 원하는 출력 결과는 다음과 같아야합니다. [0] = [지도,지도,지도,지도]

+0

두 개의 루프가 실제로 실행되고 있는지 확인하기 위해'console.log()'또는 중단 점을 추가 했습니까? 'types '에 포함 된 것을 보여주십시오. – Ryan

+0

콘솔 로그 예를 사용하고 루프가 실행 중입니다. types 배열은 types = [List, List] – user7334203

+0

@ user7334203입니다.'toArray()'메소드는'List'를 배열로 변환하는데 유용 할 수 있습니다. https://facebook.github.io/immutable-js/docs/#/List/toArray. 그렇게하면 while 루프가 필요하지 않게됩니다. –

답변

1

JavaScript가 content[i]을 덮어 씁니다. while 루프; content[i]은 배열이 아닙니다. while 루프 앞에 배열로 content[i]을 정의하고 while 루프 내에 .push()을 사용하십시오.

const content = []; 

for (let i = 0; i < types.length; i += 1) { 
    let j = 0; 
    content[i] = []; 
    while (j < types[i].length) { 
    content[i].push(types[i].get(j)); 
    j += 1; 
    } 
}