js let timeArr = ['2023-05-31 19', '2023-05-31 20', '2023-05-31 21']; let deviceIds = ['power_lift']; let resTempArr = [ { data: [{usageComment: '1层照明',},{usageComment: '2层照明',},{usageComment: '3层照明',}],key: 'power_lift',mdData: [[{power: 2.38,},{power: 2.48,},{power: 2.58,},{power: 2.68,},],[{power: 3.38,},{power: 3.48,},{power: 3.58,},{power: 3.68,},],[{power: 4.38,},{power: 4.48,},{power: 4.58,},{power: 4.68,}]]}, { data: [], key: 'power_all', mdData: [] }, { data: [], key: 'power_dianti', mdData: [] }, ];转换成 [ { time: '2023-05-31 19', '1层照明': 2.38, '2层照明': 3.38, '3层照明': 4.38, }, { time: '2023-05-31 20', '1层照明': 2.48, '2层照明': 3.48, '3层照明': 4.48, }, { time: '2023-05-31 21', '1层照明': 2.58, '2层照明': 3.58, '3层照明': 4.68, }, ]
时间: 2024-02-28 15:56:31 浏览: 13
可以使用以下代码将原始数据转换为目标格式:
```javascript
let resultArr = [];
for (let i = 0; i < timeArr.length; i++) {
let tempObj = {
time: timeArr[i]
};
for (let j = 0; j < resTempArr[0].data.length; j++) {
let usageComment = resTempArr[0].data[j].usageComment;
let mdData = resTempArr[0].mdData[j];
let power = mdData[i].power;
tempObj[usageComment] = power;
}
resultArr.push(tempObj);
}
```
这段代码会遍历时间数组 `timeArr`,对于每个时间点,再遍历 `resTempArr` 中第一个元素的 `data` 数组,将每个用电设备的用电量添加到临时对象 `tempObj` 中,最终将 `tempObj` 添加到结果数组 `resultArr` 中。
相关问题
let count =[2023-05-01:1,2023-05-02:3]如何用jquery将2023-05-02删除
根据你提供的代码,我看到你想要操作一个 JavaScript 数组 `count`,而不是 HTML 元素。在这种情况下,你可以使用 jQuery 的 `$.grep()` 方法来过滤掉数组中的特定元素。以下是如何删除 `count` 数组中日期为 "2023-05-02" 的键值对的示例代码:
```javascript
count = $.grep(count, function(item) {
return Object.keys(item)[0] !== "2023-05-02";
});
```
上述代码将使用 `$.grep()` 方法遍历 `count` 数组,并使用回调函数判断每个元素的键是否等于 "2023-05-02"。如果键不等于 "2023-05-02",则保留该元素;否则,将其从数组中删除。
请记得确保 `count` 数组中的每个元素都是键值对的形式,例如:
```javascript
var count = [
{"2023-05-01": 1},
{"2023-05-02": 3},
{"2023-05-03": 5}
];
```
希望这可以帮到你!如有任何疑问,请随时追问。
let count =[2023-05-01:1,2023-05-02:3]用jquery 取处2023-05-01的值
根据你提供的代码,我看到你想要从 JavaScript 数组 `count` 中获取键为 "2023-05-01" 的值。请注意,JavaScript 中的对象键必须是字符串类型或符号类型,因此需要将日期键转换为字符串。
以下是使用 jQuery 获取 `count` 数组中键为 "2023-05-01" 的值的示例代码:
```javascript
var value = null;
$.each(count, function(index, item) {
var key = Object.keys(item)[0];
if (key === "2023-05-01") {
value = item[key];
return false; // 结束循环
}
});
```
上述代码使用了 jQuery 的 `$.each()` 方法来遍历 `count` 数组。在每次迭代中,我们获取当前元素的键,并将其与目标键 "2023-05-01" 进行比较。如果键匹配,则将对应的值保存在 `value` 变量中,并使用 `return false` 来提前结束循环。
请注意,上述代码假设 `count` 数组中的每个元素都是键值对的形式,例如:
```javascript
var count = [
{"2023-05-01": 1},
{"2023-05-02": 3},
{"2023-05-03": 5}
];
```
希望这可以帮到你!如有任何疑问,请随时追问。