Javascript 无法在foreach循环中的angularjs中创建对象数组

Javascript 无法在foreach循环中的angularjs中创建对象数组,javascript,angularjs,Javascript,Angularjs,我正在用angularjs开发web应用程序。我有一个foreach循环来循环scope对象。下面是我的js代码 $scope.details = []; $scope.apply = function() { angular.forEach($scope.screenMap, function(value, key) { //$scope.details.push(value.scrn_id, value.Read, value.Write); $sco

我正在用angularjs开发web应用程序。我有一个foreach循环来循环scope对象。下面是我的js代码

$scope.details = [];
$scope.apply = function() {
    angular.forEach($scope.screenMap, function(value, key) {
        //$scope.details.push(value.scrn_id, value.Read, value.Write);
        $scope.details.push("ID", value.scrn_id);
        $scope.details.push("Read", value.Read);
        $scope.details.push("Write", value.Write);
    });
    console.log($scope.details);
}
在循环之后,我在3次迭代中总共得到18个条目

我期待的是

  ID:1  Read:True  Write: False
  ID:2  Read:False  Write: True
  ID:3  Read:True  Write: False
  ID:4  Read:False  Write: True

我可以知道如何获取上述格式的数组吗?

您必须将值作为对象推送到数组中才能实现这一点

$scope.details = [];
        $scope.apply = function () {
            angular.forEach($scope.screenMap, function (value, key) {
                //$scope.details.push(value.scrn_id, value.Read, value.Write);
                $scope.details.push({"ID":value.scrn_id,"Read":value.Read,"Write":value.Write});
            });
            console.log($scope.details);
        }

要实现这一点,必须将值作为对象推送到数组中

$scope.details = [];
        $scope.apply = function () {
            angular.forEach($scope.screenMap, function (value, key) {
                //$scope.details.push(value.scrn_id, value.Read, value.Write);
                $scope.details.push({"ID":value.scrn_id,"Read":value.Read,"Write":value.Write});
            });
            console.log($scope.details);
        }
试试这个代码

$scope.details = [];
$scope.apply = function () {
    angular.forEach($scope.screenMap, function (value, key) {
        var obj = {
            "ID" : value.scrn_id,
            "Read" : value.Read,
            "Write" :  value.Write
        };
        $scope.details.push(obj);
    });
    console.log($scope.details);
}
试试这个代码

$scope.details = [];
$scope.apply = function () {
    angular.forEach($scope.screenMap, function (value, key) {
        var obj = {
            "ID" : value.scrn_id,
            "Read" : value.Read,
            "Write" :  value.Write
        };
        $scope.details.push(obj);
    });
    console.log($scope.details);
}
把它当作一个物体推

$scope.details = [];
        $scope.apply = function () {
            angular.forEach($scope.screenMap, function (value, key) {

                $scope.details.push({"ID": value.scrn_id,
                                    "Read": value.Read,
                                    "Write": value.Write});
            });
            console.log($scope.details);
        }
把它当作一个物体推

$scope.details = [];
        $scope.apply = function () {
            angular.forEach($scope.screenMap, function (value, key) {

                $scope.details.push({"ID": value.scrn_id,
                                    "Read": value.Read,
                                    "Write": value.Write});
            });
            console.log($scope.details);
        }

在一次推两个对象的循环中推3次。不要使用逗号插入键值对(对象名称:value)
javascript对象注释如下所示 变量x={“对象名称1”:对象值1, “对象名称2”:对象值2 } 3*2*3=18,这些是单个条目

创建一个javascript对象并推入$scope.details

    $scope.details = [];
    $scope.apply = function () {
        angular.forEach($scope.screenMap, function (value, key) {
            //$scope.details.push(value.scrn_id, value.Read, value.Write);
            $scope.details.push({"ID": value.scrn_id,
                                 "Read": value.Read,
                                 "Write": value.Write});
        });
        console.log($scope.details);
    }

在一次推两个对象的循环中推3次。不要使用逗号插入键值对(对象名称:value)
javascript对象注释如下所示 变量x={“对象名称1”:对象值1, “对象名称2”:对象值2 } 3*2*3=18,这些是单个条目

创建一个javascript对象并推入$scope.details

    $scope.details = [];
    $scope.apply = function () {
        angular.forEach($scope.screenMap, function (value, key) {
            //$scope.details.push(value.scrn_id, value.Read, value.Write);
            $scope.details.push({"ID": value.scrn_id,
                                 "Read": value.Read,
                                 "Write": value.Write});
        });
        console.log($scope.details);
    }

无法在foreach循环中的angularjs中创建OBEJCT数组,但您没有创建对象。您正在创建一个属性数组。组合对象中的属性,然后推送。无法在foreach循环中的angularjs中创建OBEJCT数组,但您没有创建对象。您正在创建一个属性数组。结合对象中的属性,然后推。@ NIRANJANGODOBLE,你应该考虑谁先回答,然后接受答案。(Niangjangdbole,你应该考虑谁先回答,然后接受答案。