pos机总结

POS机的功能:
  通过给出的购物清单来实现对小票的打印,进而获得相关的商品数量,小计和总价。
知识点的应用:
  通过数组、对象的索引,获取相关信息义字符串的形式,打印出来。

以下为我们的POS机相关代码

给出购物清单以及商品的信息来统计商品的数量小计,进而输出:
[
    {
        barcode: 'ITEM000000',
        name: '可口可乐',
        unit: '瓶',
        price: 3.00

    },
    {
        barcode: 'ITEM000000',
        name: '可口可乐',
        unit: '瓶',
        price: 3.00
    },
    {
        barcode: 'ITEM000000',
        name: '可口可乐',
        unit: '瓶',
        price: 3.00
    },
    {
        barcode: 'ITEM000000',
        name: '可口可乐',
        unit: '瓶',
        price: 3.00
    },
    {
        barcode: 'ITEM000000',
        name: '可口可乐',
        unit: '瓶',
        price: 3.00
    },
    {
        barcode: 'ITEM000001',
        name: '雪碧',
        unit: '瓶',
        price: 3.00
    },
    {
        barcode: 'ITEM000001',
        name: '雪碧',
        unit: '瓶',
        price: 3.00
    },
    {
        barcode: 'ITEM000004',
        name: '电池',
        unit: '个',
        price: 2.00
    }
]

通过构造函数的方式完成POS机的简单打印功能。


function creat_goods_list(inputs){                     //统计商品清单的各商品数量,
    var goods_list={};                                 //新建对象;
    for(var i=0;i<inputs.length;i++){                  //通过遍历数组inputs构建对象形式的购物清单。
       
        if(goods_list.hasOwnProperty(inputs[i].name)){  //如果对象中已经含有inputs[i]
            goods_list[inputs[i].name].count++;         //直接进行count++
        }
        else{                                           //若不含有inputs[i]
            inputs[i].count=1;                          //给inputs[i]植入count属性并且赋值为1.
            goods_list[inputs[i].name]=inputs[i];       //定义对象中元素键名为input[i].name 键值为inputs[i] 
            
        }
    }
    return goods_list;                                  //返回值为对象good_list。
    
}
function printInventory(inputs){                        //以规定的形式打印。
    
    var goods_object_list=creat_goods_list(inputs)      //调用 goods_list

    var goods_list="";
    var total =0;
    
    for(var goods_name in goods_object_list){           //利用for循环遍历对象进行字符串的拼接
        total+=goods_object_list[goods_name].count*goods_object_list[goods_name].price;
        goods_list+="名称:"+goods_name+",数量:"+goods_object_list[goods_name].count+goods_object_list[goods_name].unit+",单价:"+goods_object_list[goods_name].price+".00(元),小计:"+goods_object_list[goods_name].count*goods_object_list[goods_name].price+".00(元)\n"
    }
    
    var goods_list_title="***<没钱赚商店>购物清单***\n";
    var goods_list_late="----------------------\n总计:"+total+".00(元)\n**********************";
    goods_list=goods_list_title+goods_list+goods_list_late;
    
    console.log(goods_list)     //输出打印商品清单
}


形式如下:
***<没钱赚商店>购物清单***
名称:可口可乐,数量:5瓶,单价:3.00(元),小计:15.00(元)
名称:雪碧,数量:2瓶,单价:3.00(元),小计:6.00(元)
名称:电池,数量:1个,单价:2.00(元),小计:2.00(元)
----------------------
总计:23.00(元)
********************** 

总结:
利用面向过程构造函数的方法实现pos机功能,通过遍历购物清单构造新的对象存储商品信息.





猜你喜欢

转载自1508144386.iteye.com/blog/2416093
今日推荐