//数组结构 list:{ pubID: "220414", source: "device", attrib:{a: "4",b: "32",c: "160",d: "0",e: "2"}, cmd:{g: "12",h: "14",i: "18",j: "1",k: "5"}, pages:[ ["||PM2.5 ug/m3PM10 ug/m3||"], ["||TSP ug/m3噪声 dB||"] ] } //数据实现 list:[ pubID: "220414", source: "device", attrib:[{a: "4",b: "32",c: "160",d: "0",e: "2"}], cmd:[{g: "12",h: "14",i: "18",j: "1",k: "5"}], pages:[ ["||PM2.5 ug/m3PM10 ug/m3||"], ["||TSP ug/m3噪声 dB||"] ] ]
请教 复杂的对象数据 怎么转换成 数组?接口获取到的数据格式: [图片] 请问怎么转换成数组: //以下是想要的结果: [ pubID: "220414", source: "device", attrib:[{d: "4", x: "0", y: "2", w: "160", h: "32"}], cmd:[{end: "1650069045",fontsize: "12",num: "2",speed: "4",start: "1650068789",style: "1"}], pages: ["||PM2.5 ug/m3PM10 ug/m3||"], ["||TSP ug/m3噪声 dB||"] ]
2022-04-18我的方法: 先定义一维数组需要的数据: var var newArr = []; let newListsensor = []; var arr1 = this.data.sensorList.filter(item=>{return item.category==="sensor"}) var arr2 = this.data.sensorList.filter(item=>{return item.category==="sensorUnit"}) for(let i=0;i<arr1.length;i++){ let obj = arr1[i],num=obj.value,flag=false; for(let j=0;j<arr2.length;j++){ let aj = arr2[j],n=aj.value,yearObj={}; if(n==num){ flag=true; yearObj["sensorid"]=num||n; yearObj["name"] = obj.name; yearObj["unit"] = aj.name; newArr.push(yearObj); } } } //得到新数组 /*newArr:[ {sensorid: "1", name: "温度", unit: "℃"}, {sensorid: "2", name: "湿度", unit: "%"}, {sensorid: "3", name: "气压", unit: "kPa"}, {sensorid: "4", name: "光照", unit: "kLux"}, {sensorid: "5", name: "风速", unit: "m/s"}, {sensorid: "6", name: "雨量", unit: "mm/h"}, {sensorid: "20", name: "PM2.5", unit: "ug/m3"}, {sensorid: "21", name: "PM10", unit: "ug/m3"}, {sensorid: "37", name: "风向", unit: "°"}, {sensorid: "38", name: "风向", unit: ""} ] for(let i=0;i<monitorList.length;i++){ newListsensor.push(monitorList[i].listsensor) } /*newListsensor:[ [图片] ] push成一个二维数组之后怎么跟newArr,通过“sensorid”进行数据合并呢?
一维数组循环按条件合并给二维数组的问题,逻辑实在想不通了,请教各位大神?//数组1 var sensorList:[ {"id":10000,"category": "sensor","name": "温度","value": "1"}, {"id":10001,"category": "sensor","name": "湿度","value": "2"}, {"id":10002,"category": "sensor","name": "气压","value": "3"}, {"id":10003,"category": "sensor","name": "光照","value": "4"}, {"id":10004,"category": "sensor","name": "风速","value": "5"}, {"id":10005,"category": "sensor","name": "雨量","value": "6"}, {"id":10006,"category": "sensor","name": "PM2.5","value": "20"}, {"id":10007,"category": "sensor","name": "PM10","value": "21"}, {"id":10008,"category": "sensor","name": "风向","value": "37"}, {"id":10009,"category": "sensor","name": "风向","value": "38"}, {"id":10000,"category": "sensorUnit","name": "℃","value": "1"}, {"id":10101,"category": "sensorUnit","name": "%","value": "2"}, {"id":10102,"category": "sensorUnit","name": "kPa","value": "3"}, {"id":10103,"category": "sensorUnit","name": "kLux","value": "4"}, {"id":10104,"category": "sensorUnit","name": "m/s","value": "5"}, {"id":10105,"category": "sensorUnit","name": "mm/h","value": "6"}, {"id":10106,"category": "sensorUnit","name": "ug/m3","value": "20"}, {"id":10107,"category": "sensorUnit","name": "ug/m3","value": "21"}, {"id":10108,"category": "sensorUnit","name": "°","value": "37"}, {"id":10109,"category": "sensorUnit","name": "","value": "38"}, {"id":10002,"category": "windDir","name": "北","value": "16"}, {"id":10003,"category": "windDir","name": "北偏东","value": "1"}, {"id":10004,"category": "windDir","name": "东北","value": "2"}, {"id":10005,"category": "windDir","name": "东偏北","value": "3"}, {"id":10006,"category": "windDir","name": "东","value": "4"}, {"id":10007,"category": "windDir","name": "东偏南","value": "5"}, {"id":10008,"category": "windDir","name": "东南","value": "6"}, {"id":10009,"category": "windDir","name": "南偏东","value": "7"}, {"id":10000,"category": "windDir","name": "南","value": "8"}, {"id":10101,"category": "windDir","name": "南偏西","value": "9"}, {"id":10102,"category": "windDir","name": "西南","value": "10"}, {"id":10103,"category": "windDir","name": "西偏南","value": "11"}, {"id":10104,"category": "windDir","name": "西","value": "12"}, {"id":10105,"category": "windDir","name": "西偏北","value": "13"}, {"id":10106,"category": "windDir","name": "西北","value": "14"}, {"id":10107,"category": "windDir","name": "北偏西","value": "15"}, {"id":10108,"category": "windDir","name": "静风","value": "17"}, {"id":10109,"category": "windDir","name": "静风","value": "18"} ], //数组2 var monitorList:[ { id: 10001382, name: "测试01", listsensor:[ {monitorid:10001382,sensorid:1,value: 11.1}, {monitorid:10001382,sensorid:2,value: 22.2}, {monitorid:10001382,sensorid:37,value: 180}, {monitorid:10001382,sensorid:38,value: 2} ]}, { id: 10001383, name: "测试02", listsensor:[ {monitorid:10001383,sensorid:3,value: 11.1}, {monitorid:10001383,sensorid:4,value: 22.2}, {monitorid:10001383,sensorid:37,value: 180}, {monitorid:10001383,sensorid:38,value: 2} ]} ] //需求结果 /* newList:[ {id: 10001382,name: "测试01",listsensor:[ {monitorid:10001382,sensorid:1,value: 11.1,name:"温度",unit:"℃"}, {monitorid:10001382,sensorid:2,value: 22.2,name:"湿度",unit:"%"}, {monitorid:10001382,sensorid:37,value: 180,name:"风向",unit:"°"}, {monitorid:10001382,sensorid:38,value: 4,name:"风向",unit:"东"} ]}, {id: 10001383,name: "测试02",listsensor:[ {monitorid:10001383,sensorid:3,value: 11.1,name:"气压",unit:"kPA"}, {monitorid:10001383,sensorid:4,value: 22.2,name:"光照",unit:"kLux"}, {monitorid:10001383,sensorid:37,value: 180,name:"风向",unit:"°"}, {monitorid:10001383,sensorid:38,value: 2,name:"风向",unit:"东北"} ]} ] */
2022-04-11