2016-06-09 3 views
0

일부 텍스트가있는 배열이 있습니다. 하나의 변수가 배열의 첫 번째 요소로 설정되어 있는데, 그 함수가 배열의 다음 요소에서 변수 변경 값을 값으로 변경할 수 있도록 설정할 수 있습니까?배열의 다음 요소로 변수 값 변경

var q= [{qs: 'JR?', id: 1}, 
{qs: 'DR?', idp: 2}, 
{qs: 'MR ?', idp: 3}, 
{qs: 'SR ?', idp: 4}, 
{qs: 'LR ?', idp: 5} ]; 
$scope.qes= q[0].qs; 
$scope.check= function(){ 
    $scope.qes = q[0].qs + 1; // something like that 
} 
+1

JavaScript는 "가치있는"언어입니다 "값"은 객체에 대한 참조가 될 수 있습니다. 따라서 개체의 내용을 편집 할 수는 있지만 원래 위치에서 개체 자체를 바꿀 수는 없습니다. 배열의 원래 위치의 메모리 위치에 액세스 할 수 없습니다. –

+0

색인을 어딘가에 유지 하시겠습니까? –

답변

1

질문의 내용이 명확하지 않습니다.

배열 당 처음에는 'DR?' "$ scope.check"변수에. 'MR?'을 원한다면 다음으로 다음을 수행하십시오.

배열의 현재 요소를 변경해야합니다. 디폴트로 포인터가 배열의 첫 번째 요소를 가리킨다 고 가정하면 초기 위치는 0이됩니다. 그리고 위치 값을 1 씩 증가 시키면됩니다.

//first take a pointer set to 0 [as here 0 is default position] 

    $scope.pos= 0; 
    $scope.check= function(){ 
     //change position to next 
     $scope.pos=$scope.pos+1; 
     $scope.qes = q[$scope.pos].qs; 
    }