【问题标题】:how to create a object with a array of objects如何使用对象数组创建对象
【发布时间】:2015-12-29 18:07:11
【问题描述】:

我已经在这方面进行了一段时间的黑客攻击,它正在变成一项不起作用的大型黑客工作。我正在重新创建一个具有 5 个属性的对象和一个嵌套的对象数组。现在它不起作用。我制作的 plunker 有 2 个我正在使用的对象。它只在结果中显示一个,并且没有显示 5 个属性。在索引页面上,您将看到我开始使用的 json。我需要最终结果在每个细分对象中包含原始数组以及 chartBldArry、chartInvArry、chartLoeArry 和 chartLotsArry 数组 plunker

  var surveyTerritoryArry = [];
   for (var i = 0; i < territory.subdivisions.length; i++) {
                for (var i = 0; i < territory.subdivisions.length; i++) {
                    for (var i = 0; i < territory.subdivisions.length; i++) {
                        for (var i = 0; i < territory.subdivisions.length; i++) {
                            var territory = {


                           subdivisions : {
                                metrics: {
                                    bld: {
                                        count: {
                                            custom: territory.subdivisions[i].metrics.bld.count.custom,
                                            prod: territory.subdivisions[i].metrics.bld.count.prod
                                        },
                                        type: territory.subdivisions[i].metrics.bld.type
                                    },
                                    inv: {
                                        fin: territory.subdivisions[i].metrics.inv.fin,
                                        fut: territory.subdivisions[i].metrics.inv.fut,
                                        mod: territory.subdivisions[i].metrics.inv.mod,
                                        total: territory.subdivisions[i].metrics.inv.total,
                                        uc: territory.subdivisions[i].metrics.inv.uc,
                                        vdl: territory.subdivisions[i].metrics.inv.vdl,
                                    },
                                    loe: {
                                        activity: territory.subdivisions[i].metrics.loe.activity,
                                        bld: territory.subdivisions[i].metrics.loe.bld,
                                        inv: territory.subdivisions[i].metrics.loe.inv,
                                        size: territory.subdivisions[i].metrics.loe.size,
                                        total: territory.subdivisions[i].metrics.loe.total,
                                    },
                                    lots: {
                                        total: territory.subdivisions[i].metrics.lots.total,
                                        total_active: territory.subdivisions[i].metrics.lots.total_active,
                                    },
                                },
                                properties: {
                                    id: territory.subdivisions[i].properties.id,
                                    name: territory.subdivisions[i].properties.name,
                                    show: territory.subdivisions[i].properties.show,
                                    status: territory.subdivisions[i].properties.status,
                                    territoryId: territory.subdivisions[i].properties.territoryId
                                },
                                type: territory.subdivisions[i].type,
                                chartBldArry: MapSidebarChartService.charBldDoughnut(territory.subdivisions[i]),
                                chartInvArry: MapSidebarChartService.charInvtDoughnut(territory.subdivisions[i]),
                                chartLoeArry: MapSidebarChartService.charLoeDoughnut(territory.subdivisions[i]),
                                chartLotsArry: MapSidebarChartService.charLotsDoughnut(territory.subdivisions[i])
                           }
                        };
                            surveyTerritoryArry.push(territory);
                        }
                    }
                }
            }
            for (var i = 0; i < territory.length; i++) {
                var territory = {
                    inv: territory[i].inv,
                    loe: territory[i].loe,
                    lots: territory[i].lots,
                    name: territory[i].name,
                    sbd: territory[i].sbd,
                };
                surveyTerritoryArry.push(territory);
            };
            console.log(surveyTerritoryArry)

【问题讨论】:

    标签: javascript jquery arrays angularjs


    【解决方案1】:

    如果我正确理解了您的问题,那么您在控制器中所需要的只是:

    for (var i = 0; i < territory.subdivisions.length; i++) {
      territory.subdivisions[i].charInvtDoughnut = MapSidebarChartService.charInvtDoughnut(territory.subdivisions[i]);
      territory.subdivisions[i].charLoeDoughnut = MapSidebarChartService.charLoeDoughnut(territory.subdivisions[i]);
      territory.subdivisions[i].charBldDoughnut = MapSidebarChartService.charBldDoughnut(territory.subdivisions[i]);
      territory.subdivisions[i].charLotsDoughnut = MapSidebarChartService.charLotsDoughnut(territory.subdivisions[i]);
    }
    

    这是plunker

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-14
      • 2021-08-02
      • 1970-01-01
      相关资源
      最近更新 更多