/*** 求数组中与该时间最相近的值。*/export function binary_search(arr, key) {var low = 0,high = arr.length - 1,min_index=0,c_max=Infinity;while (low <= high) {var mid = parseInt((high + low) / 2);var c=Math.abs(key-arr[mid]);if(c<c_max){c_max=c;min_index=mid;}if (key == arr[mid]) {return mid;} else if (key > arr[mid]) {low = mid + 1;} else if (key < arr[mid]) {high = mid - 1;} else {return -1;}}return min_index;
}
//通过排序,要么是前一个值,要么是后一个值最接近
export function getCloseTime(arr,time) {var arr1=arr.concat();time = moment(time).valueOf();if(arr1.indexOf(time)===-1){if(arr1[arr1.length-1]<time){return arr.length-1}else{arr1.push(time);arr1.sort();
通过排序,要么是前一个值,要么是后一个值最接近,少一步判断,判断一下差值return arr1.indexOf(time);}}else {return arr1.indexOf(time);}// var arr1= [];// arr.forEach((item) => {// var t = moment(item.time).valueOf();// arr1.push(Math.abs(t-time));// });// //返回的是数组最近的索引值// return arr1.indexOf(Math.min.apply(null, arr1));
}