UNPKG

@tanshenghu/web-utils

Version:

web公共方法

41 lines (35 loc) 1.15 kB
'use strict'; 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'];