var nestedNumbers = [1,2,3,[1,2,3,[12]]]; var sumOfArray = function(arr, sum) { for (var i = 0; i < arr.length; i++) { if (typeof arr[i] === 'object' && arr[i].length) { sum = sumOfArray(arr[i], sum); } else { sum += arr[i]; } } return sum; }; console.log(sumOfArray(nestedNumbers, 0));