let util = {}; util.getReturnData = (code, message = '', data = []) => { //保证数据格式 if (!data) { data = []; } return { code: code, message: message, data: data }; } //转换为格式化时间 util.getLocalDate = (t) => { let date = new Date(parseInt(t)); return date.getFullYear() + "-" + (parseInt(date.getMonth()) + 1) + "-" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds(); } /** * 寻找>=target的最小下标 * @param {number[]} nums * @param {number} target * @return {number} */ util.lower_bound = (nums, target) => { let first = 0; let len = nums.length; while (len > 0) { let half = len >> 1; let middle = first + half; if (nums[middle] < target) { first = middle + 1; len = len - half - 1; } else { len = half; } } return first; } /** * 寻找>target的最小下标 * @param {number[]} nums * @param {number} target * @return {number} */ util.upper_bound = (nums, target) => { let first = 0; let len = nums.length; while (len > 0) { let half = len >> 1; let middle = first + half; if (nums[middle] > target) { len = half; } else { first = middle + 1; len = len - half - 1; } } return first; } util.interpolate = (ratio, first, second) => { let one_minus_ratio = 1.0 - ratio; let data = first * one_minus_ratio + second * ratio; return data; } module.exports = util;