2012-05-18 2 views
0

내가어떻게 여러 동적 배열

var arr = ["aa","bb","cc", "dd"]; 

같은 자바 스크립트에서 하나 개의 배열을 지금은 여기에 동적으로

var arr1 = ["aa"]; 
var arr2 = ["bb"]; 
var arr3 = ["cc"]; 
var arr4 = ["dd"]; 

처럼 같은 여러 배열로이 값을 저장할에 하나 개의 배열 데이터를 추가하는 "arr"배열의 크기 당 나는 그 값을 저장하는 동적 배열을 만들 필요가있다. 예를 들어 "arr"의 경우 4 개의 값을 저장하고 4 개의 동적 배열을 만들어 4 개의 값을 저장해야합니다.

이 도움을 얻는 방법을 모릅니다.

+5

자바! = 자바 스크립트 – isvforall

+1

1)은 자바 나 자바 스크립트에 대해인가? 2) 대답을받는 방법을 알고 있습니까? – home

+1

Java에서'var'을 본 적이 없으므로 Javascript처럼 보입니다. – StepTNT

답변

0

나는 당신이 요구하는 것을 정확하게 생각하는 유일한 방법은 eval입니다. 나는 이것을 사용하지 말고 가까이에 놓고 선호하는 물건을 조립했습니다.

http://jsfiddle.net/P9SSA/1/

var myOneArray = ["a","b","c","d"]; 

var varPrefix = "arr"; 
var myObj = {}; 
for (var i = 1; i <= myOneArray.length; i++) { 
    eval(varPrefix + i + '=["' + myOneArray[i-1] + '"]'); 
    myObj[varPrefix + i] = [myOneArray[i-1]]; 
} 

document.write(arr1); 
document.write("<br>"); 
document.write(myObj.arr3); 
+0

답장을 보내 주셔서 감사합니다. – Nithin

0
var arrayOfArrays = []; 
for (var i = 0; i < arr.length; i++) { 
    arrayOfArrays[i] = []; 
    arrayOfArrays[i].push(arr[i]); 
} 
1

전역 범위에서 당신은 할 수 있습니다 :

var arr = ["aa","bb","cc", "dd"]; 

eval(arr.map(function(value,index) { 
    value = typeof value == "string" ? '"' + value + '"' : value; 
    return 'var arr'+(index+1)+' = ['+value+']'; 
}).join(";") + ";"); 

는 평가 다음 : 임의의 범위 안에서

arr.forEach(function(value, index) { 
    window["arr"+(index+1)] = [value]; 
}); 

이 비 엄격한 평가하에 만 가능 코드 :

var arr1 = ["aa"]; 
var arr2 = ["bb"]; 
var arr3 = ["cc"]; 
var arr4 = ["dd"]; 

forEach shim
map shim

+0

'for (var i = ...) '를 사용하지 않으시겠습니까? 힌트 : MSIE. –

+0

@SalmanA 왜냐하면 대답은 고기가 많고 상용구가 적기 때문입니다. – Esailija

+0

@Esailija 답장을 보내 주셔서 감사합니다. 나는 당신의 접근 방식으로 시도 했었지만 그것은 나에게 도움이되지 못했다. 좀 더 많은 코드를 제공 할 수 있습니까? – Nithin