JSFiddle - React, Tailwind, and code Playground
by oceog
HTML
<SPAN id=body></SPAN>
JavaScript
arr1 = [1, 1, 1, 1, 1, 1, 1];
arr2 = [1, 6, 7, 9, 48, 49, 50];
Q= 97;
var max=result= arr1[arr1.length-1]*arr2[arr2.length-1]+1;
var cursor= arr2.length-1;
for (var i in arr1) {
console.log(i);
while (i*arr2[cursor] > Q)
cursor--;
var tmp = [
Math.abs(Q-i*arr2[cursor]),
Math.abs(Q-i*arr2[cursor+1]),
Math.abs(Q-result)];
if (cursor==arr2.length-1) tmp[1]=max+1;
result= [
i*arr2[cursor],
i*arr2[cursor+1],
result][tmp.indexOf(_.min(tmp))];
};
body.innerHTML=result;