DataV(1.数组类2.对象类)根据返回的数字代号对应其风向

项目场景:

鄂尔多斯项目

问题描述:

APP 中接收数据代码:
 [
  {
    "Identifier": "Temperature",
    "Value": "24.0",
    "DataType": "float",
    "Time": "1623756218857",
    "Unit": "°C",
    "Name": "环境温度"
  } 
  {
    "Identifier": "WindTar",
    "Value": "4",
    "DataType": "enum",
    "Time": "1623756218857",
    "Unit": "",
    "Name": "风向"
  }
]

处理逻辑:

// 思路:
// 1.提取所需对象
// 2.switc循环重新赋值
var arr = []
for (var key in data) {
  if (data[key].Identifier == 'WindTar') {
    arr.push(data[key])
  }
}
switch (arr[0].Value) {
  case '0':
    arr[0].Value = "北风"
    break;
  case '1':
    arr[0].Value = "东北风"
    break;
  case '2':
    arr[0].Value = "东风"
    break;
  case '3':
    arr[0].Value = "东南风"
    break;
  case '4':
    arr[0].Value = "南风"
    break;
  case '5':
    arr[0].Value = "西南风"
    break;
  case '6':
    arr[0].Value = "西风"
    break;
  case '7':
    arr[0].Value = "西北风"
    break;
  default:
    arr[0].Value = "风向数据错误"
}
return arr

最终结果:

[
  {
    "Identifier": "WindTar",
    "Value": "南风",
    "DataType": "enum",
    "Time": "1623756218857",
    "Unit": "",
    "Name": "风向"
  }
]

法二:
源数据:

{
  "WindDirection": {
    "value": 0,
    "timestamp": 1638951875069
  },
  "Atmosphere": {
    "value": 102.60000000000001,
    "timestamp": 1638951875069
  }
}

处理逻辑:

// 思路:
// 1.提取所需对象
// 2.if条件判断重新赋值
var WindDirection = Math.ceil(data.WindDirection.value);
var Atmosphere = Math.ceil(data.Atmosphere.value);

if (WindDirection == 0) {
  WindDirection = "北"
} else if (WindDirection == 1) {
  WindDirection = "东北"
} else if (WindDirection == 2) {
  WindDirection = "东"
} else if (WindDirection == 3) {
  WindDirection = "东南"
} else if (WindDirection == 4) {
  WindDirection = "南"
} else if (WindDirection == 5) {
  WindDirection = "西南"
} else if (WindDirection == 6) {
  WindDirection = "西"
} else if (WindDirection == 7) {
  WindDirection = "西北"
}

var obj = {
  "温度": Temperature + "℃",
  "湿度": Humidity + "%",
  "风速": WindSpeed + "km/h",
  "风向": WindDirection,
  "光照": Lux + "lux",
  "气压": Atmosphere + "hPa"
}

return [obj];

最终结果:

 [
  {
    "温度": "10℃",
    "湿度": "42%",
    "风速": "0km/h",
    "风向": "北",
    "光照": "129lux",
    "气压": "103hPa"
  }
]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值