2017-12-14 17 views
0

두 개의 배열, 배열 A 및 배열 B를 생성해야합니다. 배열 A는 배열 B를 포함해야하며 반대의 경우도 마찬가지입니다. 문제는 객체 막대가 객체 foo 다음에 초기화되므로 foo.arrayA [0]의 값이 정의되지 않는다는 것입니다. 모든 것이로드 된 후 foo.arrayA [0]의 값을 동적으로 설정하지 않고이를 수행 할 수있는 방법이 있습니까?"배열 a"를 포함하는 "배열 b"를 포함하는 "배열 a"를 어떻게 초기화 할 수 있습니까?

var skra = { 
    arrayX: [foo, bar] 
}; 

var foo = { 
    arrayA: [bar, skra] 
}; 

var bar = { 
    arrayB: [foo, skra] 
}; 
console.log(foo.arrayA[0]); 
console.log(bar.arrayB[0]); 

출력 :

undefined 
{arrayA: Array(2)} 
+0

'var a = [], var b = [a]; a.push (b); ' – Dellirium

+0

아주 중요한 질문 : 왜? "이게 내가 할 수있는 일이야?" (대답은 "예"입니다.) 실제로 무엇을하고 있습니까? –

+0

"게임"을위한지도 데이터를 저장하는 방법으로 개체를 사용하려고합니다. 개체에는 타일 맵 데이터가 포함 된 두 개의 배열과 한 번 가장자리에 도달하면 전환 할지도가 들어있는 배열이 있습니다. 두 개의 경계지도가 필요합니다. 서로에 대한 참조가 있어야합니다. –

답변

0
var bar = {}; 
var skra = { 
    arrayX: [foo, bar] 
}; 

var foo = { 
    arrayA: [bar, skra] 
}; 

Object.assign(bar, { 
    arrayB: [foo, skra] 
}); 
console.log(foo.arrayA[0]); 
console.log(bar.arrayB[0]); 

나는이 당신을 위해 일하는 바랍니다.