`
liu86th
  • 浏览: 119108 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

[js] sku组合查找库存数量

 
阅读更多
/* 后端数据 */
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") + ";"); //输出14
document.write(getNum("11") + ";"); //输出1
document.write(getNum("10;21") + ";"); //输出11
document.write(getNum("21;31") + ";"); //输出2​

 

分享到:
评论

相关推荐

    js版本求sku组合

    在“js版本求sku组合”的问题中,我们可以通过递归或者迭代的方式来实现这个功能。描述中提到的“index.html”可能包含了一个示例,展示了如何应用这个功能。在实际操作中,我们通常会有一个对象数组,每个对象代表...

    基于Vue实现电商SKU组合算法问题

    基于Vue实现电商SKU组合算法问题涉及到多个方面,本文将重点探讨以下几个知识点: 1. Vue框架在电商中的应用 Vue是一套构建用户界面的渐进式JavaScript框架,用于构建交互式的Web界面。在电商领域,Vue能够帮助...

    模拟淘宝产品SKU信息的组合添加规格组合

    每个SKU都有其对应的库存数量、价格、重量等信息。 模拟淘宝产品的SKU信息组合,我们可以按照以下步骤进行: 1. **创建规格**:首先,我们需要定义商品的规格,例如“颜色”、“尺码”等,并为每个规格设定可能的...

    使用Vue实现的一个简易SKU组合查询DEMO

    在本示例“使用Vue实现的一个简易SKU组合查询DEMO”中,我们将会探讨如何利用Vue.js的强大功能来设计一个商品库存单位(SKU)的查询系统。这个DEMO旨在帮助开发者理解如何在实际项目中应用Vue.js进行数据绑定、条件...

    动态SKU库存表格layui实例.zip

    标题中的“动态SKU库存表格layui实例”提示我们这个压缩包包含了一个使用layui框架实现的动态库存管理系统的示例。layui是一款流行的前端开发框架,它集成了页面构建、表单处理、表格操作等多种功能,适用于快速开发...

    sku多属性选择算法-基于vue

    在IT行业中,尤其是在前端开发领域,商品管理系统常常需要处理复杂的SKU(Stock Keeping Unit,库存量单位)选择问题。本项目“sku多属性选择算法-基于vue”是针对此类需求的一个解决方案,利用Vue.js这一现代前端...

    商品SKU组合查询插件

    总结,"商品SKU组合查询插件"是电商系统中不可或缺的一部分,它利用JavaScript和CSS的技术优势,实现了高效、灵活的商品属性组合查询功能。理解和掌握这款插件的设计原理和实现方法,对于提升电商平台的运营效率和...

    商品规格SKU组合生成的表格进行合并.rar

    通过以上方法,我们可以有效地合并商品规格SKU组合生成的表格,从而提升数据管理效率,更好地服务于商品的销售和库存控制。在实际操作中,应根据具体业务需求和数据规模选择合适的方法,确保数据的准确性和一致性。

    仿淘宝、京东多重商品属性组合Sku标签

    1. 数据结构设计:需要一个高效的数据结构来存储商品属性和对应的SKU信息,如使用树形结构或哈希表来快速查找和组合属性。 2. 属性选择逻辑:通过JavaScript或其他前端技术,实现用户交互,动态更新属性选择并展示...

    vue+element实现sku表格

    在本文中,我们将深入探讨如何使用Vue.js框架与Element UI库来实现一个商品库存管理的SKU(Stock Keeping Unit)表格。Vue.js是一个轻量级、高性能的前端开发框架,而Element UI则是一套为开发者、设计师和产品经理...

    html + js +vue实现商品sku 笛卡尔积

    在电商网站上,商品SKU(Stock Keeping Unit,库存量单位)是用于唯一标识商品不同变体的重要工具。SKU管理涉及到多个属性,如颜色、尺寸、样式等,这些属性的组合形成了一个庞大的笛卡尔积,使得每个商品变体都有...

    Android代码-Sku

    1. **Sku结构设计**:首先,我们需要设计一个Sku模型,通常包括属性ID(如颜色ID、尺码ID)、属性值、库存数量、价格等字段。此外,每个Sku还会关联到一个主商品ID,表明它是哪个商品的变体。 2. **数据存储**:在...

    基于layui的表格动态SKU库存效果

    基于Layui 的 SkuTable 组件,制作SKU电商库存表格,选择规格,颜色、尺码、款式分类显示sku库存商品,动态生成SKU库存商品列表,提交数据接口,重置默认选项等功能。这一款不错的电商后台库存表格交互实例。

    jQuery 生成SKU js多数组排列组合

    js多数组排列组合生成SKU 下载就能看到效果

    仿淘宝SKU效果

    在电商平台上,每个SKU都有自己的库存数量、价格等属性。 2. 商品规格与SKU的关系: 商品规格包括颜色、尺寸、材质等,这些因素可以组合成多种SKU。在仿淘宝SKU的设计中,需要考虑如何将这些规格参数有效组织起来,...

    JavaScript算法教程之sku(库存量单位)详解

    在JavaScript算法的应用中,SKU的选择通常通过前端页面上的选择器来实现,用户可以交互地选择需要的商品规格和属性,然后系统根据所选的SKU返回对应的库存信息。这种算法要求前端开发者对数据结构有深刻的理解,并且...

    SKU组合查询算法

    原理就是把结果集的SKU中key值进行更小拆分组合,把拆分和组合后的结果信息放到SKUResult里面,这样在初始化一次完成,后面的选择可以根据这个结果集使用。把组合范围减少到key里面,这样能够搜索范围避免递归,而且...

    商品SKU模块基础layui前端框架

    在这个前端框架中,可能通过下拉框、复选框等形式展示这些属性,用户可以根据需求选择不同的属性值,系统会实时计算出对应的SKU和库存数量。 文件“index.html”是项目的主入口文件,包含了HTML结构和layui框架的...

Global site tag (gtag.js) - Google Analytics