Equilibrium Index

Write a function: function solution(A); that, given a zero-indexed array A consisting of N integers, returns any of its equilibrium indices. The function should return −1 if no equilibrium index exists.

by Hugh Chapman

HTML

<div id="Result"></div>

JavaScript

function solution(A) {
    var rside = 0;
    var lside = 0;
    var eqTest = -1;
    
    if (A === null) {
        return eqTest;
    } else if (A.length === 0) {
        return eqTest;
    } else {
    
        // sum of the array 
        for (var i = 0; i < A.length; i ++) {
            rside += A[i];    
        }
    
        // Traverse the array, looking for the first equilibrium
        for (i = 0; i < A.length; i++) {
            var temp = rside - A[i];
            console.log(temp);
            if (lside == temp) {
                // We have found a solution at the i-th element
                eqTest = i;
                break;
            } else {
                // Prepare for next comparison
                lside += A[i];
                rside = temp;
            }
        }
        // Return the result
        return eqTest;
    }        
    
}

document.querySelector('#Result').textContent = solution([-1,3,-4,5,1,-6,2,1]).toString();