UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

37 lines (35 loc) 783 B
function getStrListLength(list) { return list.reduce(function (acc, item) { return acc + item.length; }, 0); } function splitLongList(list, threshold, max) { if (threshold === void 0) { threshold = 3800; } if (max === void 0) { max = 3; } var strLen = getStrListLength(list); if (strLen <= threshold) { return [list]; } var result = []; var temp = []; for (var i = 0; i < list.length; i++) { var item = list[i]; temp.push(item); var tempLen = getStrListLength(temp); if (tempLen >= threshold) { result.push(temp); temp = []; if (result.length >= max - 1) { temp = list.slice(i + 1); break; } } } result.push(temp); return result; } export { getStrListLength, splitLongList };