JSFiddle - React, Tailwind, and code Playground

JavaScript

var arraySum = (function () {
    "use strict";
    
    var sumFunc, isArray;
    
    sumFunc = function (arr) {
        var sum, i, j, cur, toAdd;
        
        sum = 0;
        
        for (i = 0, j = arr.length; i < j; i++) {
            cur = arr[i];
            
            toAdd = 0;
            if (isArray(cur)) {
                toAdd = sumFunc(cur);
            } else if (typeof cur === "number") {
                toAdd = cur;
            }
            
            sum += toAdd;
        }
        
        return sum;
    };
    
    isArray = Array.isArray || function (obj) {
        return Object.prototype.toString.call(obj) === "[object Array]";
    };
    
    return sumFunc;
}());

console.log(arraySum([[1,2,false],'4','5']));    // 3
console.log(arraySum([[1,2,3],4,5]));            // 15
console.log(arraySum([[[[[[[[[1]]]]]]]], 1]));    // 2