2017-01-25 1 views
-3

일반적으로 배열은 var array = ["some","string","elements"] 또는 var array = [1, 2, 3]과 같이 형성됩니다. 시간을 찾고 있었지만 마음을 정리할만한 기사는 보지 못했습니다. 이제 var array = [some, string, elements]과 같은 배열 구조를 가질 수 있습니까? 관찰 할 수있는 것처럼, 그것은 어쨌든 ""이없는 문자열이었습니다. 적절한 배열 구조

내 우려를 시각화하기 위해,이 코드

var data = [] 
for (var x = 0; x < arrayData.length; x++){ //arrData contains [1,2] structure 
    data.push("$scope.item["arrayData[x]"]"); 
} 
//which gives var data = ["$scope.item[1], $scope.item[2]"] 

내가 var datavar data = [$scope.item[1],$scope.item[2]]처럼 형성하는 것이 필요에게 있습니다. 가능한가?

내 나쁜 편집, 나는 완전히 내 쿼리를 설명하지 않았습니다. "$scope.item[" 내가 var array = [some, string, here] 같은 배열 구조를 가지고 ""

EDIT II

이 가능에 캡슐화 그 이유는, 문자열입니다. some, stringhere은 변수가 아닙니다.

+2

'data.push ($ scope.item [arrayData [X]); ' – mplungjan

+0

내 잘못, 나는 그것을 명확하게 설명 할 수 없었다. 그 "$ scope.item"정적 변수, 더 많은 가능성이있다, 그것은 문자열입니다. – pruuylan

+1

질문을 업데이트하십시오. '<>'버튼을 클릭하고 시간을 낭비하는 대신 [mcve]를 제공하십시오. 그것은 [XY 문제]처럼 보입니다. (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) – mplungjan

답변

0

var array = [some, string, elements]과 같은 배열 구조를 사용할 수 없습니다. some, stringelements이라는 변수가 있어야합니다.

$scope은 AngularJS의 특수 변수입니다. 따라서 " 초없이 사용해야합니다. 예를 들면 :

data.push($scope.item[arrayData[x]]); 
1

그냥 JSON.stringify();

귀하의 코드는해야 사용하여 이동을 complecate하지 마십시오

data.push(JSON.stringify("$scope.item[" + arrayData[x] + "]"));