问答

vue 商品满件折扣计算价格

作者:admin 2021-05-15 我要评论

商品多买多折价格计算 例如: 2件9.5折 3件9.0折 5件8.0折 买1件不打折; 买4件按3件折扣计算。购买件数和折扣力度是管理平台设置。 这种商品打折怎么计算? ###...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)
商品多买多折价格计算
例如:
    2件9.5折
    3件9.0折
    5件8.0折
    
    买1件不打折;
    买4件按3件折扣计算。

购买件数和折扣力度是管理平台设置。

这种商品打折怎么计算?

###
    let new_arr = [ 
        {
            "quantity": 3,
            "discount": 0.99
        }, {
            "quantity": 4,
            "discount": 0.95
        }, {
            "quantity": 6,
            "discount": 0.90
        }, {
            "quantity": 10,
            "discount": 0.88
        }
    ]
    /**
    * @method
    * @author  zhou
    * @param {array} arr 需要查找的数组
    * @param {number} num 目标数值,查找的是与这个数值最接近的
    * @return {object} 获取数组中<=目标数值的元素
    * @desc 获取数组中<=目标数值的元素
    */
    function findCloseNum(arr, num) {
        // 过滤出小于等于目标值的元素
        let new_arr = arr.filter(item => {
            return item.quantity <= num;
        });
        // 获取到new_arr中最大值
        let maxItem = Math.max.apply(Math, new_arr.map(item => { return item.quantity }));
        // 找到符合条件项
        let checkedItem =  arr.find(item => item.quantity == maxItem);
        // 返回结果
        return checkedItem || {};
    }
    /**
     折扣规则获取到了,根据取到折扣取计算价格就好计算了
    */
    console.log(1, findCloseNum(new_arr, 1));
    console.log(2, findCloseNum(new_arr, 2));
    console.log(3, findCloseNum(new_arr, 3));
    console.log(4, findCloseNum(new_arr, 4));
    console.log(5, findCloseNum(new_arr, 5));
    console.log(6, findCloseNum(new_arr, 6));
    console.log(7, findCloseNum(new_arr, 7));
    console.log(8, findCloseNum(new_arr, 8));
    console.log(9, findCloseNum(new_arr, 9));
    console.log(10, findCloseNum(new_arr, 10));
    console.log(100, findCloseNum(new_arr, 100));
    
    
    
结果
image
###

按你说的计算呀,这也不难吧。。。而且你这也没个代码

###

其实,枚举一下也无妨
let discount={

'1':1,
'2':0.95,
'3':0.9,
'4':0.9,
'5':0.8,
...

}

只需注意跟上缺损值就行,比如:不在枚举范围的都统一打多少折

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 请问下prometheus怎么进行自定义的按业

    请问下prometheus怎么进行自定义的按业

  • 节流函数为什么,点击无效,监听窗口大

    节流函数为什么,点击无效,监听窗口大

  • express访问静态资源失败

    express访问静态资源失败

  • IE 浏览器下 match 方法报错

    IE 浏览器下 match 方法报错

腾讯云代理商
海外云服务器