2014-04-28 2 views
1

기본적으로 객체 (var)가 포함 된 JS 파일이 있으며 페이지를로드 할 때마다 다른 객체를로드 할 수 있어야합니다. 예를 들어 페이지가로드되면 JS 파일의 일부 개체 데이터 * (data1, data2 등)의 데이터가 포함 된 새로운 개체 'temp'가 만들어집니다. 어떻게 작동하는지 모르겠고, 5 개의 .js 파일이 필요한지 또는 5 개의 데이터 변수가 필요한지 모릅니다.페이지로드시마다 다른 js 파일로드

var data = { 

    'coords' : [[784, 42], [802, 324], [128, 365], [710, 166], [513, 283], [610 , 391], [544, 48], [323, 204], [316, 50], [938, 52]], 
    'walkthrough' : [8, 6, 0, 9, 3, 1, 5, 4, 2, 7], 
    'highscore' : 2217 
} 

var data1 = { 
    'coords' : [[784, 42], [933, 211], [304, 190], [756, 264], [365, 395], [129, 302], [504, 261], [650, 393], [283, 26], [593, 35]], 
    'walkthrough' : [8, 9, 0, 1, 3, 7, 6, 4, 5, 2], 
    'highscore' : 2123 

} 

var data2 = { 
    'coords' : [[784, 42], [591, 289], [242, 289], [710, 150], [465, 371], [589, 146], [667, 24], [323, 204], [173, 173], [898, 197] ], 
    'walkthrough' : [8, 2, 7, 4, 1, 5, 3, 9, 0, 6], 
    'highscore' : 1897 

} 

var data3 = { 
    'coords' : [[785, 264], [591, 289], [392, 49], [419, 332], [862, 159], [533, 166], [710, 119], [323, 204], [600, 32], [834, 54]], 
    'walkthrough' : [2, 7, 3, 1, 0, 4, 9, 6, 8, 5], 
    'highscore' : 1573 

} 

var data4 = { 
    'coords' : [[903, 292], [634, 352], [44, 350], [150, 188], [883, 131], [475, 240], [697, 152], [274, 341], [491, 69], [784, 34]], 
    'walkthrough' : [2, 7, 5, 1, 0, 4, 9, 6, 8, 3], 
    'highscore' : 2167 

} 

내가 원하는 것은 'temp'개체를 갖는 것입니다.이 개체는 일부 데이터 개체의 데이터를 갖게됩니다.

아무런 도움이되지 않으므로, 미리 감사드립니다.

+3

모든 개체를 배열에 넣을 수 있습니까? 그렇다면 Math.random을 실행하여 인덱스를 선택하도록하십시오! – A1rPun

+0

아래 답변을했습니다 (실제로는 @ A1rPun이 말한 것입니다 - 죄송합니다, 보지 못했습니다!) 데이터가 정적입니까, 아니면 어딘가에서오고 있습니까? 이것에 대한보다 나은 접근법이있을 수 있습니다. – Archer

+0

작은 데이터를 저장하려면 5 js 파일이 필요하지 않습니다. 하나의 파일에 저장 한 다음 Math.random() 함수를 사용하여 변수를 임의로 선택하도록 선택합니다. – Ashutosh

답변

4

이 당신이 필요로 어떻게해야 ...

var data = [{ 
    'coords' : [[784, 42], [802, 324], [128, 365], [710, 166], [513, 283], [610 , 391], [544, 48], [323, 204], [316, 50], [938, 52]], 
    'walkthrough' : [8, 6, 0, 9, 3, 1, 5, 4, 2, 7], 
    'highscore' : 2217 
}, { 
    'coords' : [[784, 42], [933, 211], [304, 190], [756, 264], [365, 395], [129, 302], [504, 261], [650, 393], [283, 26], [593, 35]], 
    'walkthrough' : [8, 9, 0, 1, 3, 7, 6, 4, 5, 2], 
    'highscore' : 2123 

}, { 
    'coords' : [[784, 42], [591, 289], [242, 289], [710, 150], [465, 371], [589, 146], [667, 24], [323, 204], [173, 173], [898, 197] ], 
    'walkthrough' : [8, 2, 7, 4, 1, 5, 3, 9, 0, 6], 
    'highscore' : 1897 

}, { 
    'coords' : [[785, 264], [591, 289], [392, 49], [419, 332], [862, 159], [533, 166], [710, 119], [323, 204], [600, 32], [834, 54]], 
    'walkthrough' : [2, 7, 3, 1, 0, 4, 9, 6, 8, 5], 
    'highscore' : 1573 

}, { 
    'coords' : [[903, 292], [634, 352], [44, 350], [150, 188], [883, 131], [475, 240], [697, 152], [274, 341], [491, 69], [784, 34]], 
    'walkthrough' : [2, 7, 5, 1, 0, 4, 9, 6, 8, 3], 
    'highscore' : 2167 
}]; 

var thisData = data[Math.floor(data.length * Math.random())]; 

스토어의 모든 하나 개의 배열의 데이터, 그리고 단지 그 중 하나를 임의로 선택합니다. 유지 관리 할 파일이 하나뿐이므로 여러 개의 js 파일을 갖는 것보다 훨씬 좋은 방법입니다.

+1

그런 대답, 와우 코드. 당신은 내 투표있어;) – A1rPun

+0

JSON 인코딩 파일은 훨씬 더 모듈화 될 것입니다. – GameAlchemist

+1

Lol @ A1rPun. 아주 밈. 그래서 lulz. – Archer

관련 문제