JSFiddle - React, Tailwind, and code Playground
JavaScript
var data1 = [100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110];
var data2 = [102, 104, 106, 108];
var buffer = 3;
function binarySearch(arr, value) {
var i = _.sortedIndex(data1, largestData2);
for (; i < arr.length; ++i)
if (arr[i] > value)
break;
return i;
}
var largestData2 = _.last(data2);
var smallestData1LargerThanData2Index = binarySearch(data1, largestData2);
var sliceStart = smallestData1LargerThanData2Index - buffer;
if (sliceStart < 0)
sliceStart = 0;
var result = _.rest(data1, sliceStart);
console.log(JSON.stringify(result));