【问题标题】:How to update an item on the list inside the array?如何更新数组内列表中的项目?
【发布时间】:2018-10-15 00:40:48
【问题描述】:

鉴于每个“totalLiabilities”的数据结构,我需要计算(“totalAssets”-“shareholderEquity”)。在javascript中会如何。非常感谢。

{
    "symbol": "FB",
    "financials": [
        {
            "reportDate": "2017-12-31",
            "totalAssets": 84524000000,
            "totalLiabilities": null,
            "shareholderEquity": 74347000000,
        },
        {
            "reportDate": "2016-12-31",
            "totalAssets": 64961000000,
            "totalLiabilities": null,
            "shareholderEquity": 59194000000,
        },
        {
            "reportDate": "2015-12-31",
            "totalAssets": 49407000000,
            "totalLiabilities": null,
            "shareholderEquity": 44218000000,
        },
        {
            "reportDate": "2014-12-31",
            "totalAssets": 39966000000,
            "totalLiabilities": null,
            "shareholderEquity": 36096000000,
        }
    ]
}

【问题讨论】:

  • 请发布您到目前为止尝试过的内容;我们希望看到minimal reproducible example,然后我们才能在这里提供帮助。

标签: javascript arrays list


【解决方案1】:

您可以使用arrow functions 来遍历集合中的项目并执行分配。

var data = {
  "symbol": "FB",
  "financials": [{
      "reportDate": "2017-12-31",
      "totalAssets": 84524000000,
      "totalLiabilities": null,
      "shareholderEquity": 74347000000,
    },
    {
      "reportDate": "2016-12-31",
      "totalAssets": 64961000000,
      "totalLiabilities": null,
      "shareholderEquity": 59194000000,
    },
    {
      "reportDate": "2015-12-31",
      "totalAssets": 49407000000,
      "totalLiabilities": null,
      "shareholderEquity": 44218000000,
    },
    {
      "reportDate": "2014-12-31",
      "totalAssets": 39966000000,
      "totalLiabilities": null,
      "shareholderEquity": 36096000000,
    }
  ]
};

data.financials.forEach(item => item.totalLiabilities = item.totalAssets - item.shareholderEquity);

console.log('Updated: ' + JSON.stringify(data));

【讨论】:

    【解决方案2】:
    data.financials.forEach(account => account.totalLiabilities = account.totalAssets - account.shareholderEquity)
    

    【讨论】:

    • 虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高​​答案的长期价值。
    • 是的,当然。
    猜你喜欢
    • 1970-01-01
    • 2022-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多