js实现,一段时间内的log数据,取间隔1分钟的数据
时间: 2024-03-02 08:48:43 浏览: 20
假设你有一个 log 数组,里面存储了每条 log 的时间戳和内容,可以按照以下步骤实现取间隔 1 分钟的数据:
1. 将 log 数组按照时间戳从小到大排序。
2. 定义一个变量 lastMinute,初始化为 log[0] 的时间戳所在的分钟数。
3. 定义一个空数组 result,用于存放取出的 log 数据。
4. 遍历 log 数组,对于每条 log 数据:
- 计算该条数据时间戳所在的分钟数 minute。
- 如果 minute 与 lastMinute 不同,说明已经过了 1 分钟,将该条数据添加到 result 数组中,并更新 lastMinute 为 minute。
5. 返回 result 数组。
下面是实现代码示例:
```javascript
function getLogDataWithOneMinuteInterval(log) {
// 1. 按时间戳从小到大排序
log.sort((a, b) => a.timestamp - b.timestamp);
// 2. 初始化 lastMinute 和 result 数组
let lastMinute = Math.floor(log[0].timestamp / 60000);
const result = [];
// 3. 遍历 log 数组
for (const entry of log) {
const minute = Math.floor(entry.timestamp / 60000);
if (minute !== lastMinute) {
// 4. 如果已经过了 1 分钟,将该条数据添加到 result 数组中
result.push(entry);
lastMinute = minute;
}
}
// 5. 返回 result 数组
return result;
}
```