@tanshenghu/web-utils
Version:
web公共方法
41 lines (35 loc) • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
/**
* 商品规格穷举
*/
exports.default = {
exhaustive: function exhaustive(datas, cb, debug) {
var options = {
datas: datas,
callback: cb,
debug: debug
};
if (!options.datas || options.datas.length === 0) {
return false;
}
var loopIndex = 0;
var forstr = 'for(let i_{{index}}=0;i_{{index}}<options.datas[{{index}}].length;i_{{index}}++){/** loop */}';
var forQuery = '';
var fnArgs = 'options.datas[0][i_0]';
if (options.datas.length > 1) {
for (var j = 1; j < options.datas.length; j++) {
forQuery = (j === 1 ? forstr.replace(/\{\{index\}\}/mg, 0) : forQuery).replace('/** loop */', forstr).replace(/\{\{index\}\}/mg, j);
fnArgs += ',options.datas[' + j + '][i_' + j + ']';
}
} else {
forQuery = forstr.replace(/\{\{index\}\}/mg, 0);
}
forQuery = forQuery.replace('/** loop */', 'options.callback([' + fnArgs + '], loopIndex);loopIndex++;');
eval(forQuery);
return debug === true ? forQuery : void 0;
}
};
module.exports = exports['default'];