如何从 Javascript 中的 API 响应中过滤过去 5 年(最近一年的数据,如 2015、2015、2017、2018、2019 年数据)(React Native)



我正在研究React Native Project。

我正在从服务器中获得以下响应。

[
        {
            "id": 58,
            "year": 2000,
            "value": "1450",
        },  {
            "id": 58,
            "year": 2001,
            "value": "1,980",
        },
         {
            "id": 58,
            "year": 2014,
            "value": "600",
        },  {
            "id": 58,
            "year": 2015,
            "value": "200",
        },  {
            "id": 58,
            "year": 2016,
            "value": "180",
        },  {
            "id": 58,
            "year": 2017,
            "value": "145",
        },  {
            "id": 58,
            "year": 2018,
            "value": "1650",
        },  {
            "id": 58,
            "year": 2019,
            "value": "1444",
        },
]

,但是,我只需要持续5年的数据。

如何在React Native中过滤它?

使用数组过滤器并使用new Date().getFullYear()获取当前年份并减去对象中的一年,并检查它是否大于5

let data = [{
    "id": 58,
    "year": 2000,
    "value": "1120",
  }, {
    "id": 58,
    "year": 2001,
    "value": "1,980",
  },
  {
    "id": 58,
    "year": 2014,
    "value": "600",
  }, {
    "id": 58,
    "year": 2015,
    "value": "200",
  }, {
    "id": 58,
    "year": 2016,
    "value": "180",
  }, {
    "id": 58,
    "year": 2017,
    "value": "145",
  }, {
    "id": 58,
    "year": 2018,
    "value": "1650",
  }, {
    "id": 58,
    "year": 2019,
    "value": "1444",
  }
]
let lastFiveYrs = data.filter(function(item) {
  return new Date().getFullYear() - item.year >= 5;
});
console.log(lastFiveYrs)

最新更新