sku组合查询算法探讨-之JS实现示例
来源:互联网 发布:ssh建立连接的端口号 编辑:程序博客网 时间:2024/06/05 11:28
/* 后端数据 */var data = { "10;20;30": { price: 5, count: 1 }, "10;20;31": { price: 10, count: 2 }, "11;20;30": { price: 5, count: 1 }, "10;21;31": { price: 10, count: 2 }, "10;21;32": { price: 10, count: 9 }}var myData = {}, //可选项key值 keys = [ [10, 11, 12], [20, 21], [30, 31, 32] ];//获取 key的库存量function getNum(key) { var result = 0, i, j, m, items, n = []; //检查是否已计算过 if (typeof myData[key] != 'undefined') { return myData[key]; } items = key.split(";"); //已选择数据是最小路径,直接从已端数据获取 if (items.length === keys.length) { return data[key] ? data[key].count : 0; } //拼接子串 for (i = 0; i < keys.length; i++) { for (j = 0; j < keys[i].length && items.length > 0; j++) { if (keys[i][j] == items[0]) { break; } } if (j < keys[i].length && items.length > 0) { //找到该项,跳过 n.push(items.shift()); } else { //分解求值 for (m = 0; m < keys[i].length; m++) { result += getNum(n.concat(keys[i][m], items).join(";")); } break; } } //缓存 myData[key] = result; return result;}document.write(getNum("10") + ";"); //输出14document.write(getNum("11") + ";"); //输出1document.write(getNum("10;21") + ";"); //输出11document.write(getNum("21;31") + ";"); //输出2
阅读全文
0 0
- sku组合查询算法探讨-之JS实现示例
- sku组合查询算法探讨
- 淘宝SKU组合查询算法实现
- 淘宝SKU组合查询算法实现
- 淘宝SKU组合查询算法实现
- 淘宝SKU组合查询算法实现
- sku组合查询算法探索
- sku组合查询算法探索
- sku组合查询算法探索
- 购物车多sku组合查询算法
- SKU组合查询算法代码-实例二
- 阿里巴巴sku算法实现
- 商品sku,N规格js实现
- 商城sku选择组合
- 仿淘宝sku组合
- 淘宝sku的组合
- lucene查询之 多条件查询 BooleanQuery 可以组合查询条件。及代码示例
- 关于商城网站商品sku选择的js简易实现
- 对于ORACLE RAC集群修改MAX_STRING_SIZE的方法(varchar2字段扩展到32K)
- cocos-js,Widget的addTouchEventListener改善
- 10个有关RESTful API良好设计的最佳实践
- 升级Glibc2.14的坑爹记录
- cmd下javac 错误: 编码GBK的不可映射字符
- sku组合查询算法探讨-之JS实现示例
- 士兵队列训练问题
- [5-03]事务和连接池
- 网页验证码的实现
- Java爬虫(三)--数据抽取
- tabbar 设置背景图片
- PageRank及其用python在spark中实现
- pycharm的updating indices
- JNI DETECTED ERROR IN APPLICATION:java.lang.SecurityExceptionandroid--解决JNI安全权限异常