使用年份和蛾的存在格式化数据javascript

朱奈德·法鲁克

我有这种 json 对象

[  {
    "camera_name": "Bolands Mills Arup",
    "exid": "bolands-mills-arup",
    "latest_snapshot_date": "2019-05-30T07:06:55+01:00",
    "oldest_snapshot_date": "2015-12-24T23:33:23+00:00",
    "years": {
      "2015": [
        "12"
      ],
      "2016": [
        "04",
        "08",
        "09",
        "10",
        "02",
        "06",
        "03",
        "11",
        "12",
        "01",
        "07",
        "05"
      ],
      "2017": [
        "04",
        "07",
        "10",
        "09",
        "11",
        "01",
        "02",
        "03",
        "05",
        "06",
        "08",
        "11",
        "12"
      ],
      "2018": [
        "03",
        "05",
        "06",
        "10",
        "11",
        "01",
        "02",
        "08",
        "09",
        "04",
        "07",
        "11",
        "12"
      ],
      "2019": [
        "01",
        "02",
        "03",
        "04",
        "05"
      ]
    }
  },
  {
    "camera_name": "Walls Demo",
    "exid": "central-bank-fusion",
    "latest_snapshot_date": "2019-05-30T07:07:02+01:00",
    "oldest_snapshot_date": "2015-11-08T16:30:48+00:00",
    "years": {
      "2015": [
        "12",
        "11"
      ],
      "2016": [
        "02",
        "03",
        "05"
      ],
      "2017": [
        "03",
        "08",
        "10",
        "02",
        "04",
        "05",
        "06",
        "07",
        "09",
        "11",
        "01",
        "11",
        "12"
      ],
      "2018": [
        "03",
        "04",
        "07",
        "09",
        "01",
        "02",
        "08",
        "10",
        "11",
        "05",
        "06",
        "11",
        "12"
      ],
      "2019": [
        "01",
        "02",
        "03",
        "04",
        "05"
      ]
    }
  }
]

我有一个带有年份名称的参数,其值可以是 2015 年到 2019 年。我想要做的是创建一个方法,将这些数据与年份和月份的值组合在一起。

我有几个月的这种模式

 let months_chars = {
    "01":"jan", 
    "02":"feb", 
    "03":"mar",
    "04":"apr",
    "05":"may",
    "06":"jun",
    "07":"jul",
    "08":"aug",
    "09":"sep",
    "10":"oct",
    "11":"nov",
    "12":"dec"
  }

用户正在选择年份值,例如,如果用户将选择 2016 年,则较低的数据将如下所示。

  {
    "camera_name": "Walls Demo",
    "exid": "central-bank-fusion",
    "latest_snapshot_date": "2019-05-30T07:07:02+01:00",
    "oldest_snapshot_date": "2015-11-08T16:30:48+00:00",
    "jan": 0,
    "feb": 1,
    "mar": 1,
    "apr": 0,
    "may", 1,
    ...
    "dec": 0
  }

如果月份存在,它将遍历年份的当前值,然后它将添加月份字符并将 1 放在前面,如果没有,则仍然放置月份并将 0 放在前面。

任何帮助将不胜感激,我已经做到了这一点,

  let months_chars = {
    "01":"jan", 
    "02":"feb", 
    "03":"mar",
    "04":"apr",
    "05":"may",
    "06":"jun",
    "07":"jul",
    "08":"aug",
    "09":"sep",
    "10":"oct",
    "11":"nov",
    "12":"dec"
  }
  let year = this.year;

  let formatedData =
    data.map((camera) => {
      let present_months = data["years"][`${year}`]

    });

此外,我无法按要求格式化数据。

科比

这应该有效。使用 map() 遍历每个对象,并遍历每个 Month_chars 以检查年份是否包含键,如果为真则返回 1,如果为假则返回 0:

const cameras = [{
    "camera_name": "Bolands Mills Arup",
    "exid": "bolands-mills-arup",
    "latest_snapshot_date": "2019-05-30T07:06:55+01:00",
    "oldest_snapshot_date": "2015-12-24T23:33:23+00:00",
    "years": {
      "2015": [
        "12"
      ],
      "2016": [
        "04",
        "08",
        "09",
        "10",
        "02",
        "06",
        "03",
        "11",
        "12",
        "01",
        "07",
        "05"
      ],
      "2017": [
        "04",
        "07",
        "10",
        "09",
        "11",
        "01",
        "02",
        "03",
        "05",
        "06",
        "08",
        "11",
        "12"
      ],
      "2018": [
        "03",
        "05",
        "06",
        "10",
        "11",
        "01",
        "02",
        "08",
        "09",
        "04",
        "07",
        "11",
        "12"
      ],
      "2019": [
        "01",
        "02",
        "03",
        "04",
        "05"
      ]
    }
  },
  {
    "camera_name": "Walls Demo",
    "exid": "central-bank-fusion",
    "latest_snapshot_date": "2019-05-30T07:07:02+01:00",
    "oldest_snapshot_date": "2015-11-08T16:30:48+00:00",
    "years": {
      "2015": [
        "12",
        "11"
      ],
      "2016": [
        "02",
        "03",
        "05"
      ],
      "2017": [
        "03",
        "08",
        "10",
        "02",
        "04",
        "05",
        "06",
        "07",
        "09",
        "11",
        "01",
        "11",
        "12"
      ],
      "2018": [
        "03",
        "04",
        "07",
        "09",
        "01",
        "02",
        "08",
        "10",
        "11",
        "05",
        "06",
        "11",
        "12"
      ],
      "2019": [
        "01",
        "02",
        "03",
        "04",
        "05"
      ]
    }
  }
]

let months_chars = {
  "01": "jan",
  "02": "feb",
  "03": "mar",
  "04": "apr",
  "05": "may",
  "06": "jun",
  "07": "jul",
  "08": "aug",
  "09": "sep",
  "10": "oct",
  "11": "nov",
  "12": "dec"
}

var input = 2016
var obj = cameras.map(({years, ...obj}) => {
  var months = years[input]
  for(var i in months_chars) {
    months.includes(i) ? obj[months_chars[i]] = 1 : obj[months_chars[i]] = 0
  }
  return obj
  
})

console.log(obj)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用 JavaScript 捕获和格式化表格数据?

来自分类Dev

使用wss(websocket)格式化以发送和接收数据

来自分类Dev

D3:使用.tickValues()方法格式化年份

来自分类Dev

使用JavaScript进行文本解析和格式化

来自分类Dev

使用PHP格式化JSON数据

来自分类Dev

使用tidyjson格式化JSON数据

来自分类Dev

Unix:使用CLI格式化数据

来自分类Dev

使用python格式化数据

来自分类Dev

使用 sed 或 awk 格式化数据

来自分类Dev

如何在javascript / jquery中使用逗号分隔符格式化和取消格式化美元金额?

来自分类Dev

JavaScript:使用toLocaleString()格式化整数

来自分类Dev

使用Javascript从JSON格式化日期

来自分类Dev

使用javaScript格式化日期

来自分类Dev

使用javascript格式化日期

来自分类Dev

使用 javascript 格式化多维数组

来自分类Dev

如何使用javascript格式化日期

来自分类Dev

使用 javascript 格式化 JSON

来自分类Dev

格式化后未转换的数据仍然存在

来自分类Dev

使用未对齐的数据和间隙重新格式化数据帧

来自分类Dev

如何使用简单日期格式来格式化不带年份的日期?

来自分类Dev

Golang-格式化和存储后时间戳丢失的年份

来自分类Dev

格式化适合区域设置的日期和月份,不带年份

来自分类Dev

在Pandas Python中使用日期读取和格式化数据框

来自分类Dev

使用awk或sed进行数据清理和格式化

来自分类Dev

如何使用Shell脚本拆分和格式化数据输出?

来自分类Dev

如何使用MEDIUM或FULL日期类型使用IntlDateFormatter格式化日期,但没有年份?

来自分类Dev

在javascript中使用指数格式格式化数字?

来自分类Dev

使用javascript自动格式化日期格式

来自分类Dev

如何使用javascript格式化来自具有相同类的表列的数据

Related 相关文章

  1. 1

    如何使用 JavaScript 捕获和格式化表格数据?

  2. 2

    使用wss(websocket)格式化以发送和接收数据

  3. 3

    D3:使用.tickValues()方法格式化年份

  4. 4

    使用JavaScript进行文本解析和格式化

  5. 5

    使用PHP格式化JSON数据

  6. 6

    使用tidyjson格式化JSON数据

  7. 7

    Unix:使用CLI格式化数据

  8. 8

    使用python格式化数据

  9. 9

    使用 sed 或 awk 格式化数据

  10. 10

    如何在javascript / jquery中使用逗号分隔符格式化和取消格式化美元金额?

  11. 11

    JavaScript:使用toLocaleString()格式化整数

  12. 12

    使用Javascript从JSON格式化日期

  13. 13

    使用javaScript格式化日期

  14. 14

    使用javascript格式化日期

  15. 15

    使用 javascript 格式化多维数组

  16. 16

    如何使用javascript格式化日期

  17. 17

    使用 javascript 格式化 JSON

  18. 18

    格式化后未转换的数据仍然存在

  19. 19

    使用未对齐的数据和间隙重新格式化数据帧

  20. 20

    如何使用简单日期格式来格式化不带年份的日期?

  21. 21

    Golang-格式化和存储后时间戳丢失的年份

  22. 22

    格式化适合区域设置的日期和月份,不带年份

  23. 23

    在Pandas Python中使用日期读取和格式化数据框

  24. 24

    使用awk或sed进行数据清理和格式化

  25. 25

    如何使用Shell脚本拆分和格式化数据输出?

  26. 26

    如何使用MEDIUM或FULL日期类型使用IntlDateFormatter格式化日期,但没有年份?

  27. 27

    在javascript中使用指数格式格式化数字?

  28. 28

    使用javascript自动格式化日期格式

  29. 29

    如何使用javascript格式化来自具有相同类的表列的数据

热门标签

归档