javascript - 如何使用对象数组创建对象

标签 javascript jquery arrays angularjs

我已经对此进行了一段时间的黑客攻击,但它正在变成一项行不通的大型黑客工作。我正在重新创建一个具有 5 个属性的对象和一个嵌套的对象数组。现在它不起作用。我制作的 plunker 有 2 个正在使用的对象。结果中只显示了 1 个属性,另外 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)

最佳答案

如果我正确理解你的问题,那么你的 Controller 中所需要的就是:

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

关于javascript - 如何使用对象数组创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34516517/

相关文章:

javascript - 你如何启动一个对 heroku 使用react的快速服务器?

javascript - 如何取消 jquery ui 中的拖放事件?

python - 从两点之间的 numpy 数组获取值

javascript - 如何在 AngularJS 中的后续请求中正确存储本地数组

c - 将两个数组的条目合并为另一个数组的偶数和奇数条目。

javascript - JS Bitwise - Math.random() * 2 被解释为 0 和 1 以进行按位或 (|) 运算的规则是什么?

javascript - 谷歌地图自定义控件回调

javascript - 关闭前的 Magnific Popup Action

c# - 在文本框中输入字符时显示 div 标签内容?

javascript - 搜索输入字段以搜索 JSON 数据