data: count: 50 datastreams: Array(5) 0: {datapoints: Array(10), id: "humi_1"} 1: {datapoints: Array(10), id: "temp_1"} 2: {datapoints: Array(10), id: "light_1"} 3: {datapoints: Array(10), id: "temp_2"} 4: {datapoints: Array(10), id: "co2_1"} 帮我用微信小程序通过匹配id,全局变量中有有对应的id与Data中的id,并将相应的数据赋值给全局变量中对应的array
时间: 2024-04-14 09:27:39 浏览: 70
当你在微信小程序中需要通过匹配id,将数据赋值给全局变量中对应的数组时,你可以使用全局变量来存储数据,并在匹配到id时更新对应的数组。下面是一个示例代码:
```javascript
// 假设你已经获取到了data对象
const data = {
count: 50,
datastreams: [
{ id: "humi_1", datapoints: [/* 数据点数组 */] },
{ id: "temp_1", datapoints: [/* 数据点数组 */] },
{ id: "light_1", datapoints: [/* 数据点数组 */] },
{ id: "temp_2", datapoints: [/* 数据点数组 */] },
{ id: "co2_1", datapoints: [/* 数据点数组 */] }
]
};
// 定义全局变量来保存匹配到的数据数组
App({
globalData: {
humiData: [],
temp1Data: [],
light1Data: [],
temp2Data: [],
co2Data: []
}
});
// 获取全局变量
const appInstance = getApp();
// 遍历datastreams数组,匹配id并更新对应的全局变量数组
data.datastreams.forEach(stream => {
switch (stream.id) {
case "humi_1":
appInstance.globalData.humiData = stream.datapoints;
break;
case "temp_1":
appInstance.globalData.temp1Data = stream.datapoints;
break;
case "light_1":
appInstance.globalData.light1Data = stream.datapoints;
break;
case "temp_2":
appInstance.globalData.temp2Data = stream.datapoints;
break;
case "co2_1":
appInstance.globalData.co2Data = stream.datapoints;
break;
default:
break;
}
});
// 现在,你可以在任何地方通过访问全局变量来获取对应的数据数组
console.log(appInstance.globalData.humiData);
console.log(appInstance.globalData.temp1Data);
console.log(appInstance.globalData.light1Data);
console.log(appInstance.globalData.temp2Data);
console.log(appInstance.globalData.co2Data);
```
在这个示例代码中,我们通过在App实例的globalData中定义全局变量来保存对应的数据数组。在遍历datastreams数组时,我们匹配id并更新对应的全局变量数组。这样,你就可以在任何地方通过访问globalData来获取对应的数据数组了。
希望这个示例对你有帮助!如果还有其他问题,请随时提问。
阅读全文