jsdataframe.js
function reduceNonNa(array, initValue, func) {
  var result = initValue;
  for (var i = 0; i < array.length; i++) {
    var value = array[i];
    if (!isMissing(value)) {
      result = func(result, value);
    }
  }
  return result;
}
function reduceNonNa(array, initValue, func) {
  var result = initValue;
  for (var i = 0; i < array.length; i++) {
    var value = array[i];
    if (!isMissing(value)) {
      result = func(result, value);
    }
  }
  return result;
}
function reduceNonNa ( array , initValue , func ) { var result = initValue ; for ( var i = 0 ; i < array . length ; i ++ ) { var value = array [ i ] ; if ( ! isMissing ( value ) ) { result = func ( result , value ) ; } } return result ; }
Performs a left-to-right reduce on 'array' using 'func' starting with 'initValue' while skipping over any missing values.  If there are no non-missing values then the result is simply 'initValue'.
Performs a left - to - right reduce on array using func starting with initValue while skipping over any missing values . If there are no non - missing values then the result is simply initValue .