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