vtils
Version:
一个面向业务的 JavaScript/TypeScript 实用程序库。
27 lines (26 loc) • 892 B
JavaScript
exports.__esModule = true;
exports.chunkEqual = chunkEqual;
var _lodashUni = require("lodash-uni");
/**
* 类似 `chunk`,但当每组条目数量不一致时会在最后一组添加填充值以达到每组条目数量一致。
*
* @param array 数组
* @param size 分组大小
* @param filler 填充值
* @param consistent 是否保持一致性,默认 false,设为 true 则当数组长度小于分组大小时也填充数组使其长度达到分组大小
*/
function chunkEqual(array, size, filler, consistent) {
if (consistent === void 0) {
consistent = false;
}
var len = array.length;
var remain = len % size;
if (remain !== 0 && (consistent ? true : size < array.length)) {
array = array.slice();
for (var i = 0, n = size - remain; i < n; i++) {
array.push(filler(len + i));
}
}
return (0, _lodashUni.chunk)(array, size);
}
;