js comment obtenir une somme de sous-tableau maximale

let arr = [-11, 15, -9, -2, -3, -5, 8];

const checkArr = (/** @type {number[]} */ arr) => arr.every((/** @type {number} */ elem) => elem < 0);

/**
 * @param {number[]} arr
 */
function getMaxSubSum(arr) {
  let maxSum = 0;
  let currentSum = 0;

  if (checkArr(arr)) return 0;

  for (let i = 0; i < arr.length; ++i) {
    currentSum = Math.max(arr[i], currentSum + arr[i]);

    maxSum = Math.max(currentSum, maxSum);
  }

  return maxSum;
}

console.log(getMaxSubSum(arr));
Condemned Corncrake