这段代码中, if (typeTime == typeDate) { data[i] = item.number; } else { data[i] = 0; }是否会覆盖掉data[i]的值
时间: 2024-02-17 17:00:26 浏览: 21
是的,如果在遍历 `pageData` 的过程中,多个数据匹配到了同一个日期,那么最后一次匹配的数据会覆盖之前匹配到的数据,从而导致 `data[i]` 的值被覆盖。
如果希望保留所有匹配到的数据,可以将 `data[i]` 的值定义为数组,并在匹配到数据时使用 `push` 方法将数据添加到数组中。例如:
```javascript
function getMath() {
console.log(this.dayList);
let data = [];
for (let i = 0; i < this.dayList.length; i++) {
let matchingData = [];
this.pageData.forEach((item, index) => {
let typeDate = this.query.type == 0 ? item.date.split("-")[2] : item.date.split("-")[1];
let typeTime = this.query.type == 0 ? this.dayList[i].split("")[0] + this.dayList[i].split("")[1] : this.dayList[i].split("")[0];
if (typeTime == typeDate) {
matchingData.push(item.number);
}
});
data[i] = matchingData;
}
return data;
}
```
这样,`data[i]` 中存储的就是一个数组,包含了所有匹配到的数据。