70 lines
1.6 KiB
JavaScript
70 lines
1.6 KiB
JavaScript
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; |