2016-07-02 2 views
3


Я программирую приложение с помощью AngularJS и хотел бы знать, как выталкивать элемент из одного массива в другой массив.Push Item From One Array В другой массив в Angular

Вот пример кода:

$scope.tasks = [ 
    {title: "Do the dishes"}, 
    {title: "Walk the dog"}, 
]; 
$scope.addToTasksDone = function() {// IM FAILNG HERE}; 
$scope.tasksDone = []; 

Как я могу нажать на элемент со значением «моют посуду» в массив tasksDone?

+1

вынуть элемент из массива, получить его индекс и' splice' его, после чего вставьте его в другой массив –

+0

Как я могу извлечь это из этого массива? –

+0

передать уникальное значение функции, прокрутить список и найти элемент по уникальному идентификатору –

ответ

3
$scope.tasks = [ 
{title: "Do the dishes"}, 
{title: "Walk the dog"}, 
]; 
$scope.tasksDone = []; 
$scope.addToTasksDone = function(index) {// IM FAILNG HERE}; 
$scope.tasksDone.push($scope.tasks[index]); 
} 
+0

это только толкает первый элемент массива. –

+0

Это был всего лишь пример использования индекса. –

+0

Это не работает для меня, а также «неопределенный» –

0
$scope.tasks = [ 
{title: "Do the dishes"}, 
{title: "Walk the dog"}, 
]; 
$scope.tasksDone = []; 
angular.forEach(tasks , function(value, key) { 
    this.push(key + ': ' + value); 
},tasksDone); 
}; 
1
$scope.tasks = [ 
    { title: "Do the dishes" }, 
    { title: "Walk the dog" } 
]; 
$scope.tasksDone = []; 
for(var i in $scope.tasks){ 
    $scope.tasksDone.push($scope.tasks[i]); 
} 
0

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

$scope.tasks = [ 
    {title: "Do the dishes"}, 
    {title: "Walk the dog"}, 
]; 
$scope.tasksDone = []; 
$scope.addToTasksDone = function(specificValue) { 
          // IM FAILNG HERE}; 
    tasks.forEach((object) => { 
      if (object[title] === specificValue) { 
       $scope.tasksDone.push(object); 
      } 
    }); 
} 

Над кодом будет толкать каждый объект, который продолжается ain значение как специфическое значение ... Вы можете вызвать addToTasksDone, передав значение «Сделать посуду» в качестве параметра.

Пример вызова

$scope.addToTasksDone("Do the dishes"); 

С уважением

Аджай

0

Это правильный код.
У меня есть список внутри ng-repeat, поэтому мне нужно изменить «$ scope.addToTasksDone (index)» на «$ scope.addToTasksDone ($ index)».
Конечно же в Html, например. -> нг-клик = "addToTasksDone ($ индекс)