2016-03-20 3 views
0

Мне нужно заменить значение массива JSON, используя Angular.js/Javascript. это мой код ниже.Как заменить значение массива JSON новым с помощью Angular.js/javascript

Предположим, что я нажал некоторое значение на объект, как показано ниже.

for(var i=0;i<mondayarr.length;i++){ 
    $scope.days[0].answers.push({ 
       category:{'value':mondayarr[i].cat_id}, 
       subcategory: null, 
       comment: response.data[i].comment, 
    }) 
    $scope.setSubcatag(0); 
} 

Внутри цикла я подтолкнул некоторое значение в массив и вызвал функцию со значением. это значение subcategory присвоено нулевому значению.

$scope.setSubcatag=function(index){ 
    $scope.days[index].answers.push({ 
      subcategory:{'value':2} 
    }) 
} 

В предыдущем разделе я заменяющий subcategory нулевого значения до некоторого значения, но его не заменить. пожалуйста помогите.

+0

Вы пытаетесь нажать другой объект в массив. – user3581054

+0

что такое 'subcat_id', ваш код указан в' setSubcatag' – Zamboney

ответ

1

Вы выдвигаете новый объект в days[index].answer, где вы должны назначить подкатегорию. для этого вам нужно добавить новый аргумент в setSubcatag.

$scope.setSubcatag=function(index,answerId) 
{ 
    $scope.days[index].answers[answerId].subcategory = {'value':2}; 
} 

и в базе

for(var i=0;i<mondayarr.length;i++){ 
    $scope.days[0].answers.push({ 
       category:{'value':mondayarr[i].cat_id}, 
       subcategory: null, 
       comment: response.data[i].comment, 
    }) 
    $scope.setSubcatag(0); 
} 
1

Вы подталкиваете еще одно значение к массиву, вместо этого заменяете его, но вам также нужно знать индекс ответа.

$scope.setSubcatag=function(index) 
{ 
    $scope.days[index].answers[whichAnswerIndex].subcategory = {'value':subcat_id}; 
}