import moment from "moment"; /** * 使用滑动窗口获取水文数据批次 * @param {Array} data - 后端返回的数据数组 * @returns {Array} - 返回数组,每个元素包含600个点的数据 */ export const getAllHydroBatches = (data) => { if (!Array.isArray(data) || data.length < 600) { return []; } const batches = []; let startIndex = 0; // 当剩余数据量大于等于600时继续处理 while (startIndex + 600 <= data.length) { const slicedData = data.slice(startIndex, startIndex + 600); batches.push({ rains: slicedData.map(item => item.rains), waters: slicedData.map(item => item.waters), lastTm: slicedData[599].tm // 记录第600个点的时间 }); // 每次向后移动1个位置 startIndex += 1; } return batches; }; export const responseData = new Array(800).fill(0).map((item,index) => ({ rains: (Math.random() * 1).toFixed(2), waters: (Math.random() * 100).toFixed(2), tm:moment().clone().add(index, 'hours').format("YYYY-MM-DD HH:00:00") }))