Ionic 我可以用array.reduce()处理这样的数据吗?[关闭]

5w9g7ksd  于 2023-06-27  发布在  Ionic
关注(0)|答案(1)|浏览(137)

**已关闭。**此问题为not reproducible or was caused by typos。目前不接受答复。

此问题是由打印错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
2天前关闭。
Improve this question
我的JSON数据是这样的,我想对所有的amount求和,但是当我尝试使用array.Reduce()时,我得到了一个错误“Cannot read properties of undefined(阅读'reduce')”

array.reduce((a,b)=> a + b.dataBilling[0].amount,0)

我想对这些数据中的所有金额进行求和计费

cpjpxq1n

cpjpxq1n1#

您的“dataBilling”属性(“dataBilling“)中有额外的空间。

const json = `
  {
    "data": [
      {
        "dataBilling ": [
          {
            "amount": 400,
            "edited": false,
            "billingGroup": "CONSULTATIONANDVISIT",
            "qty": 1,
            "discount": "0",
            "grossAmount": 400,
            "excludeFlag": false,
            "billingDescription": "PAID"
          }
        ]
      },
      {
        "dataBilling ": [
          {
            "amount": 427,
            "edited": false,
            "billingGroup": "MEDICINES",
            "qty": 1,
            "discount": "0",
            "grossAmount": 427,
            "excludeFlag": false,
            "billingDescription": "PAID"
          }
        ]
      }
    ]
  }
`;

const obj = JSON.parse(json);

const total = obj.data.reduce((acc, curr) => acc + curr['dataBilling '][0].amount, 0);

console.log(total);

// errors, there is no property "dataBilling"
const total = obj.data.reduce((acc, curr) => acc + curr.dataBilling[0].amount, 0);

您需要在创建对象的源上修复此问题。

相关问题