const datas = [2, 3, 5, 5, 10, 11, 15, 7, 8, 9, 3, 3, 2, 1, 4, 2, 1, 2, 3];
function minSubArray(array, sum) {
let l = 0, total = 0;
let ans = 0
for (r in array) {
total += array[r];
while (total >= sum) {
if (total == sum) ans = Math.max(r - l + 1, ans);
total -= array[l];
l += 1;
}
}
return ans;
}
console.log(minSubArray(datas, 15))