如何在AngularJS中使用`splice`方法之前将值从数组推送到另一个数组?

时间:2016-10-12 14:37:08

标签: javascript html angularjs

我有一个AngularJS方法,来自splice中间的array元素,但我想在使用splice方法之前将要删除的元素添加到另一个数组中。 这是我的代码

$scope.method = function (index) {
            $scope.array2.push($scope.array1[index]);
            $scope.array1.splice(index, 1);
        }

当我调用方法array1[index]时,可以检索值但不会被推入array2

这是我的HTML代码

<div data-ng-repeat="item in array1">
    <button class="btn btn-success pull-right" data-ng-click="method($index)">
        <i class="fa fa-trash" aria-hidden="true"></i>
    </button>
    <br />
</div>

2 个答案:

答案 0 :(得分:1)

查看函数splice 它将返回您删除的值;

$scope.method = function (index) {
     if(! $scope.array2 ) $scope.array2 = [];
     $scope.array2 = $scope.array2.concat($scope.array1.splice(index, 1););
}

答案 1 :(得分:1)

我只更改了代码的这一部分。

$scope.method = function (index) {
        $scope.array2.push($scope.array1.slice(index, 1));
        $scope.array1.splice(index, 1);
};

选中此jsfiddle example