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;