【问题标题】:Pivot JSON then create an Array from Array of Arrays,枢轴 JSON 然后从数组数组创建一个数组,
【发布时间】:2017-04-26 04:41:16
【问题描述】:

我在 Angular2 中从 JSON 生成表格时遇到困难,因为我想旋转 JSON 数据并且无法为其构建接口(我通常使用的方法)

我使用的 JSON im 的摘录在下面,我将其转换为

[
  {
    "ValueDate": "2017-04-26T14:16:00",
    "AccountName": "CASHAUD",
    "Holding": 318622.53
  },
  {
    "ValueDate": "2017-04-26T14:16:00",
    "AccountName": "CASHCAD",
    "Holding": 7195
  },
  {
    "ValueDate": "2017-04-26T14:16:00",
    "AccountName": "CASHEUR",
    "Holding": 5077.97
  },
  {
    "ValueDate": "2017-04-26T14:16:00",
    "AccountName": "CASHGBP",
    "Holding": 19625
  },
  {
    "ValueDate": "2017-04-26T14:16:00",
    "AccountName": "CASHJPY",
    "Holding": 16463
  },
  {
    "ValueDate": "2017-04-26T14:16:00",
    "AccountName": "CASHNZD",
    "Holding": 601.56
  },
  {
    "ValueDate": "2017-04-26T14:16:00",
    "AccountName": "CASHSGD",
    "Holding": 1000
  },
  {
    "ValueDate": "2017-04-26T14:16:00",
    "AccountName": "CASHUSD",
    "Holding": 1716906.25
  },
  {
    "ValueDate": "2017-04-27T14:16:00",
    "AccountName": "CASHAUD",
    "Holding": 318622.53
  },
  {
    "ValueDate": "2017-04-27T14:16:00",
    "AccountName": "CASHCAD",
    "Holding": 7195
  },
  {
    "ValueDate": "2017-04-27T14:16:00",
    "AccountName": "CASHEUR",
    "Holding": 5077.97
  },
  {
    "ValueDate": "2017-04-27T14:16:00",
    "AccountName": "CASHGBP",
    "Holding": 19625
  },
  {
    "ValueDate": "2017-04-27T14:16:00",
    "AccountName": "CASHJPY",
    "Holding": 16463
  },
  {
    "ValueDate": "2017-04-27T14:16:00",
    "AccountName": "CASHNZD",
    "Holding": 601.56
  },
  {
    "ValueDate": "2017-04-27T14:16:00",
    "AccountName": "CASHSGD",
    "Holding": 1000
  },
  {
    "ValueDate": "2017-04-27T14:16:00",
    "AccountName": "CASHUSD",
    "Holding": 1720781.25
  }
]

我使用以下教程 http://techbrij.com/convert-column-to-row-javascript-array-pivot 旋转 JSON 数组,从而生成数组数组

结果还不错

标题总是在[i][0] 数据始终位于[i + 1][j]

有什么想法可以让我循环遍历这些数组以创建一个对象或另一个数组,我可以从中构建一个表吗?

【问题讨论】:

  • 因此您有一个对象列表,可以表示为二维 3xN 数组(N = 对象数),并且您希望将其转换为 Nx3 数组 - 列数可变。是这样吗?
  • 我相信这是正确的

标签: javascript arrays json angular typescript


【解决方案1】:

创建一个包含三行的新数组(代表 ValueDate、AccountName 和 Holding 值)并迭代原始值:

source = [{...}, {...} ... ];
result = [[], [], []];
source.forEach((row, index) => {
  result[0][index] = row.ValueDate;
  result[1][index] = row.AccountName;
  result[2][index] = row.Holding;
});

请参阅以下 Plunker 示例: https://plnkr.co/edit/15ZmVUxhEyPLTlDmHCLb?p=preview

【讨论】:

    【解决方案2】:

    您可以将 pivotTable.js 与 Angular2 集成。这很容易。如果您选择此选项,我可以帮助您。干杯。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-19
      • 2019-05-24
      • 2018-07-17
      相关资源
      最近更新 更多