将项目从一个数组推送到Angular中的另一个数组

时间:2016-07-02 10:01:59

标签: javascript arrays angularjs


我正在使用AngularJS编写应用程序,并想知道如何将项目从一个数组推送到另一个数组。

以下是示例代码:

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

如何将值为“Do the dishes”的项目推送到tasksDone数组?

6 个答案:

答案 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]);
}

答案 1 :(得分:1)

$scope.tasks.push(yourObject)

这个问题在here

之前被解决了

答案 2 :(得分: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]);
}

答案 3 :(得分:0)

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

答案 4 :(得分: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);
          }
     });
}

上面的代码将每个包含值的对象推送为特定值... 您可以通过传递"菜肴"来调用addToTasksDone。值作为参数。

示例调用

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

此致

的Ajay

答案 5 :(得分:0)

这是正确的代码。

我在ng-repeat中有列表,所以我必须将$scope.addToTasksDone(index)更改为$scope.addToTasksDone($index)

当然还有HTML 示例ng-click="addToTasksDone($index)