Как складывать элементы в массиве до тех пор пока сумма не будет больше или равна нулю?

Мне нужно что бы элементы массива складывались до тех пор пока сумма элементов не станет больше или равна нулю и нужно запомнить индекс при котором наступила смена, то есть если больше или равно нулю стало во время 4 итерации то 3 индекс (считать с нуля) запоминаем.

Я бы сделал вне цикла переменную которая бы вбирала в себя все данные, дальше создал бы переменную флаг которая бы вобрала бы в себя значение индекса во время итерации, затем сам цикл for для перебора всех элементов, каждую итерацию нужно просто делать прибавление суммы и проверку этой же переменной, прибавление можно сделать с помощью sum = numbers[i], проверку обычным ифом который бы проверял больше или равна сумма нулю, в случае если истина то мы в нашу переменную флаг запоминаем значение последнего индекса, и оператором break прерываем выполнение цикла.

var numbers = [-1,-12,1,7,-9,13,2,3];
var
sum = 0;
var
index = false;
for
(let i=0; i<numbers.length; i ) {
sum = numbers[i]
;
if
(sum >= 0) { index = i; break; }
}
console.
log(index);