在angularJS中合并两个数组

时间:2016-04-20 11:48:19

标签: javascript arrays angularjs

我有两个数组,我想将它们合并到一个数组中以将数据绑定到HTML表单,这就是我所做的:

控制器:

$scope.modifierOuCreerArticle = function() {
    var index = this.row.rowIndex;

    $http.get("URL1")
    .success(function(datagetArticle) {
        $scope.finalOperationsList = datagetArticle.listElementGamme;
        var v = $scope.finalOperationsList[$scope.finalOperationsList.length-1].operationId;


        $scope.listOperationsById(v);
        $scope.listfinal=$scope.finalOperationsList.concat($scope.listOperationsById);

        $scope.finalOperationsList = $scope.listfinal;
    });

$scope.listOperationsById = function(id) {
    $http.get(URL2)
        .success(function(data) {
            $scope.listOperationsById = data;
        });
}

我想合并“finalOperationsList”数组和“listOperationsById”数组的内容,并使用“listfinal”将内容发送到我的表单

但是我在控制台中得到了这个:

$scope.listfinal :[{ content of finalOperationsList},null]

那么请问我如何更正我的代码以获取来自“finalOperationsList”和“listOperationsById”数组合并的所有数据 谢谢你的帮助

3 个答案:

答案 0 :(得分:6)

考虑使用concat JavaScript方法https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat

var alpha = ['a', 'b', 'c'],
  numeric = [1, 2, 3];

var alphaNumeric = alpha.concat(numeric);

console.log(alphaNumeric); // Result: ['a', 'b', 'c', 1, 2, 3]

答案 1 :(得分:4)

使用conact函数

var a = ["1", "2", "3", "4"];
var b = ["5", "6", "7", "8"];
var c = a.concat(b);

angular.extend(c, a, b);

答案 2 :(得分:1)

你应该使用有角度的$ q.all:https://docs.angularjs.org/api/ng/service/ $ q

当您的异步方法的两个返回时,它将允许您轻松处理所有数据