View difference between Paste ID: 1vPagnH4 and XtwyH3tr
SHOW: | | - or go back to the newest paste.
1-
function arraySum(arr) {
1+
// declare function arraySum
2-
    var sum, i, j, cur;
2+
function arraySum(i) {
3
// var curentVal will hold current value of i[j] member    
4-
    sum = 0;
4+
// at first value of sum is ZERO
5
var sum = 0;
6-
    for (i = 0, j = arr.length; i < j; i++) {
6+
    // i will be an array, containing integers, strings and/or arrays like itself.
7-
        cur = arr[i];
7+
    // Sum all the integers you find, anywhere in the nest of arrays.
8-
        
8+
9-
        if (cur instanceof Array) {
9+
    for(var j = 0; j < i.length; j++) {
10-
            sum += arraySum(cur);
10+
        // curentVal = i[j];
11-
        } else if (typeof cur === "number") {
11+
// if curentVal of i[j] is Array        
12-
            sum += cur;
12+
        if(i[j] instanceof Array) {
13
            sum += arraySum(i[j]);
14
        } else if (typeof i[j] === 'number') {
15
            sum += i[j];
16
        }
17
    }
18
    return sum;
19
}
20
21
console.log(arraySum([[1,2,false],'4','5']));    // 3
22
console.log(arraySum([[1,2,3],4,5]));            // 15
23
console.log(arraySum([[[[[[[[[1]]]]]]]], 1]));    // 2