微信小程序开发,wx.getStorageSync('visits')的数据是[ { "date": "2023-05-08", "avenues": { "自然来访": 157, "转介": 71, "自拓": 3,"电call": 0, "老客户": 2}, "dataCount": 233 }, { "date": "2023-05-09", "avenues": { "自然来访": 12, "转介": 9, "自拓": 2, "电call": 0, "老客户": 6 }, "dataCount": 29 }, ]现在需要判断里面是否有重复值,如果有重复值就剔除。
时间: 2023-08-22 11:04:05 浏览: 60
去除重复数据
可以使用一个 Set 来记录已经出现过的日期,然后遍历 visits 数组,对于每个元素检查其日期是否已经在 Set 中出现过,如果已经出现过,则说明该元素重复,需要将其从 visits 数组中删除。最后,使用 wx.setStorageSync 方法将更新后的数据存储到本地缓存中。具体代码如下:
```
let visitedDates = new Set();
for(let i = 0; i < visits.length; i++) {
let currentDate = visits[i].date;
if(visitedDates.has(currentDate)) {
visits.splice(i, 1);
i--; // 因为删除了一个元素,所以需要将 i 向前移动一位
} else {
visitedDates.add(currentDate);
}
}
wx.setStorageSync('visits', visits);
```
这段代码中,我们使用一个 Set visitedDates 来记录已经出现过的日期。然后使用一个 for 循环遍历 visits 数组,对于每个元素,首先获取其日期 currentDate,然后检查 visitedDates Set 中是否已经包含了该日期。如果包含该日期,就说明该元素重复,需要将其从 visits 数组中删除。如果 visitedDates Set 中不包含该日期,则将该日期添加到 visitedDates Set 中,以便后续的判断。最后,使用 wx.setStorageSync 方法将更新后的数据存储到本地缓存中。
阅读全文