UNPKG

mutants-appfx

Version:

appfx module

117 lines (106 loc) 3.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.avg = exports.sum = exports.min = exports.max = exports.count = undefined; var _toConsumableArray2 = require("babel-runtime/helpers/toConsumableArray"); var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // 聚合函数库 // COUNT():统计指定列不为NULL=>undefined的记录行数; var count = exports.count = function count(array, by) { if (array === void 0) { return 0; } if (!Array.isArray(array)) { if (by) { return array[by] !== void 0 ? 1 : 0; } return 1; } if (by) { return array.filter(function (it) { return it[by] !== void 0; }).length; } return array.filter(function (it) { return it !== void 0; }).length; }; // MAX():计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算=>NaN; var max = exports.max = function max(array, by) { if (array === void 0) { return NaN; } if (!Array.isArray(array)) { if (by) { return array[by] !== void 0 ? array[by] : NaN; } return parseFloat(array); } if (by) { return Math.max.apply(Math, (0, _toConsumableArray3.default)(array.map(function (it) { return it[by]; }))); } return Math.max.apply(Math, (0, _toConsumableArray3.default)(array)); }; // MIN():计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算=>NaN var min = exports.min = function min(array, by) { if (array === void 0) { return NaN; } if (!Array.isArray(array)) { if (by) { return array[by] !== void 0 ? array[by] : NaN; } return parseFloat(array); } if (by) { return Math.min.apply(Math, (0, _toConsumableArray3.default)(array.map(function (it) { return it[by]; }))); } return Math.min.apply(Math, (0, _toConsumableArray3.default)(array)); }; // SUM():计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0=>NaN; var sum = exports.sum = function sum(array, by) { if (array === void 0) { return NaN; } if (!Array.isArray(array)) { if (by) { return array[by] !== void 0 ? array[by] : NaN; } return parseFloat(array); } if (by) { return array.reduce(function (v, it) { return v + parseFloat(it[by]); }, 0); } return array.reduce(function (v, it) { return v + parseFloat(it); }, 0); }; // AVG():计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0=>NaN; var avg = exports.avg = function avg(array, by) { if (array === void 0) { return NaN; } if (!Array.isArray(array)) { if (by) { return array[by] !== void 0 ? array[by] : NaN; } return parseFloat(array); } if (by) { return array.reduce(function (v, it) { return v + parseFloat(it[by]); }, 0) / array.length; } return array.reduce(function (v, it) { return v + parseFloat(it); }, 0) / array.length; }; //# sourceMappingURL=AggregatesUtil.js.map