Как из массива рандомных натуральных чисел вычислить две равные суммы?
Это задача - вариант Subset sum problem.

Она NP-полная - тут нет быстрых и простых решений.  В общем случае, возможно только решение полным перебором за N*3^N. Что-то вроде того, что предложил Alexandroppolus, только там вообще не рассматривается случай, что текущее число просто пропускается. Еще можно делать это же без рекурсии на основе битовых масок.

Если есть какие-то дополнительные условия (например, все числа очень маленькие), то может более быстрым быть решение на основе динамического программирования, как в задаче о рюкзаке.
Навскидку видится что-то такое:
function getHeightRec(arr, height1, height2, max) {
    if (arr.length === 0) {
        return max;
    }
    let result;
    const lastItem = arr.pop();
    if (height1 === height2) {
        result = Math.max(
            getHeightRec(arr, height1, height2, height2),
            getHeightRec(arr, height1 + lastItem, height2, height2)
        );
    } else {
        result = Math.max(
            getHeightRec(arr, height1, height2, max),
            getHeightRec(arr, height1 + lastItem, height2, max),
            getHeightRec(arr, height1, height2 + lastItem, max)
        );
    }
    arr.push(lastItem);
    return result;
}

function getHeight(arr) {
    return getHeightRec(arr, 0, 0, 0);
}

не дебажил