Как обновить элемент в списке внутри массива? - PullRequest
0 голосов
/ 15 октября 2018

Учитывая эту структуру данных для каждого "totalLiability", мне нужно сделать расчет ("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,
        }
    ]
}

Ответы [ 2 ]

0 голосов
/ 15 октября 2018
data.financials.forEach(account => account.totalLiabilities = account.totalAssets - account.shareholderEquity)
0 голосов
/ 15 октября 2018

Вы можете использовать функции стрелок для перебора элементов в коллекции и выполнения назначений.

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));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...