JSFiddle - React, Tailwind, and code Playground

by ronilan

JavaScript

Array.prototype.sum = function () {

    var i = this.length,
        result = 0;

    while (i--) {
        result += this[i];
    }

    return result;
};

Array.prototype.largestSubArray = function () {

    var array = this,
        max = this.length,
        i,
        j,
        arraySlice,
        arraySliceSum,
        largestValue = this[0],
        result;

    for (i = 0; i < max; i++) {
        for (j = i; j < max; j++) {

            arraySlice = array.slice(i, j + 1);
            arraySliceSum = arraySlice.sum();
            if (largestValue < arraySliceSum) {
                result = arraySlice;
                largestValue = arraySliceSum;
            }

        }
    }

    return result;
};

var a = [1, 3, 4, 0, -23, 45, 6, 7, -9, 10, -22, 22, 1, -10];

console.log(a.largestSubArray());