`
秦瑶123
  • 浏览: 14985 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

javascript 之POS收银机 版本:v0.1

 
阅读更多

 

 

教学目标

学会把基本描述转换成程序;

熟悉循环嵌套的使用;

需求描述

商店里进行购物结算时会使用收银机(POS)系统,这台收银机会在结算时根据客户的购物车(Cart)中的商品(Item)进行结算和打印购物清单。

 

我们需要实现一个名为printInventory函数,该函数能够将指定格式的数据作为参数输入,然后在浏览器的控制台中输出结算清单的文本。

 

输入格式(样例):

[ {barcode: 'ITEM000000',name: '可口可乐',unit: '瓶',price: 3.00},
  {barcode: 'ITEM000000',name: '可口可乐',unit: '瓶',price: 3.00},
  {barcode: 'ITEM000000',name: '可口可乐',unit: '瓶',price: 3.00},
 { name: '可口可乐',unit: '瓶',price: 3.00,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}

 

 

当点击"保存并提交代码"按钮的时候,我们会调用函数printInventory将上面的数据作为参数(inputs)传入该函数。)

清单内容(样例):

 

***<没钱赚商店>购物清单***

名称:可口可乐,数量:5瓶,单价:3.00(元),小计:15.00(元)

名称:雪碧,数量:2瓶,单价:3.00(元),小计:6.00(元)

名称:电池,数量:1个,单价:2.00(元),小计:2.00(元)

----------------------

总计:23.00(元)

********************** 

作业要求

在main.js文件中编写实现代码并确保测试通过;

请在保证代码可读性的前提下,尽可能用最少的代码行数完成作业;

将清单输出到控制台,使测试通过 注意:所有的标点符号均为英文符号

作业提示

学习将重复的内容合并再转化成清单

使用console.log输出(仅允许使用一次)

 main.js


function printInventory(inputs) {
var item;
var item_list=[];    
var list='***<没钱赚商店>购物清单***';
var sum=0;
for(var i=0;i<inputs.length;i++){
 item=inputs[i];/
    if(item_list.length===0){
        item.count=1;
        item_list.push(item);
    }
    else{for(var j=0;j<item_list.length;j++){
        if(inputs[i].barcode==item_list[j].barcode){
           item_list[j].count++;
        }
        else if(j==item_list.length-1){
           POS收银机此题运用了:  1 for循环遍历数组;
                                          2对象中键所对应的值;
                                          3拼接字符串;
            item_list.push(item); item.count=0;
    }
   }
  }  
 }

    for(var n=0;n< item_list.length;n++){
    
    list=list+'\n'+'名称:'+item_list[n].name+','+'数量:'+item_list[n].count+item_list[n].unit+','+'单价:'+item_list[n].price+'.00(元)'+','+'小计:'+item_list[n].count*item_list[n].price+'.00(元)';
     sum+=item_list[n].count*item_list[n].price;
    }

list=list+'\n'+'----------------------'+'\n'+'总计:'+sum+'.00(元)'+'\n'+'**********************';


console.log(list);
}

 

本题与POS收银机 版本:v0很是相似,输入格式有的区别,只要把它的输入格式改变就好解决问题。

使输入格式是相同,创建新的数组。

POS收银机 v0.1此题运用了: 1 for循环遍历数组;

                                                 2对象中键所对应的值;

                                                 3拼接字符串;

                                                 4if else 语句;

                                                5数组的添加 用push;

                          

分享到:
评论

相关推荐

    HexGame:v0.1

    十六进制游戏 v0.1 只是一个测试版。 在 hypnosnova.github.io/HexGame 上玩

    Cloudgamer JavaScript Library v0.1 JavaScript 工具库发布.zip

    Cloudgamer JavaScript Library v0.1 JavaScript 工具库发布.zip

    需求规格说明书v1.0.11

    1.2系统标识EOSIO版本号:eosio_2.0.3.编程语言:C++, JavaScript.环境:Ubuntu18.04.需求报告版本:V0.1.1.3系

    需求规格说明书v1.0.01

    1.2系统标识EOSIO版本号:eosio_2.0.3.编程语言:C++, JavaScript.环境:Ubuntu18.04.需求报告版本:V0.1.1.3系

    Beginning JavaScript with DOM Scripting and Ajax: Second Editon

    Beginning JavaScript with DOM Scripting and Ajax is an essential resource for modern JavaScript programming. This completely updated second edition covers everything you need to know to get up-to-...

    beehive.calendar.js v0.1 javascript实现的google日历.zip

    beehive.calendar.js v0.1 javascript实现的google日历

    pos_with_tests

    POS Project v2POS收银机 版本:v2教学目标熟悉JavaScript的基本语法;熟悉JavaScript的基本逻辑语句及关键字;熟悉JavaScript的面向对象编程;熟悉使用Lo-Dash和moment.js等第三方Javascript库改进编码过程和编码...

    JavaScript Eval 在线加密/解密工具 v0.1

    专门解码解密eval&#40;function(p,a,c,k,e,r&#41;{})、eval&#40;function(p,a,c,k,e,d&#41;...{})等多种eval编码加密的Javascript源代码.暂不支持语法高亮.不支持低版本IE.P.S:该程序是仿制的,非原创!

    SublimeForWiz:听说你们都喜欢Sublime?

    Sublime 介绍 一个非常简单的为知插件,...主版本:v0.1 CodeMirror版本:v4.12 Todo 完善代码高亮 完善Sublime的快捷键设定 更新日志 2014年08月27日 v0.1发布,上传至为知应用中心。 2015年02月13日 更新Mirror版本。

    pos-v-jQuery

    POS收银机 版本:v1 教学目标 熟悉JavaScript的基本语法; 熟悉JavaScript的基本逻辑语句及关键字; 需求描述 商店里进行购物结算时会使用收银机(POS)系统,这台收银机会在结算时根据客户的购物车(Cart)中的商品...

    pos-v1-node-work

    POS Project v1POS收银机 版本:v1教学目标熟悉JavaScript的基本语法;熟悉JavaScript的基本逻辑语句及关键字;需求描述商店里进行购物结算时会使用收银机(POS)系统,这台收银机会在结算时根据客户的购物车(Cart...

    深入理解JavaScript系列(.chm)

    深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 深入理解JavaScript系列(2):揭秘命名函数表达式 深入理解JavaScript系列(3):全面解析Module模式 深入理解JavaScript系列(4):立即调用...

    pos-system-js:使用javascript实现pos系统

    商店里进行购物结算时会使用收银机(POS)系统,这台收银机会在结算时根据客户的购物车(Cart)中的商品(Item)和商店正在进行的优惠活动(Promotion)进行结算和打印购物清单。 已知该商店正在对部分商品进行...

    pos:POS Project - 该项目通过模拟一台POS机(收银机),来锻炼学员JavaScript编程能力

    POS Project该项目通过模拟一台POS机(收银机),来锻炼学员JavaScript编程能力。使用方法将该项目Clone到自己的本地电脑上:移除项目文件夹中的.git文件夹;在项目文件夹中使用git init命令重新创建本地Git仓库;...

    dynamic-javascript-0.1.zip

    dynamic-javascript-0.1.zipdynamic-javascript-0.1.zipdynamic-javascript-0.1.zipdynamic-javascript-0.1.zip

    pos_v2_nodejs

    POS Project v2POS收银机 版本:v2教学目标熟悉JavaScript的基本语法;熟悉JavaScript的基本逻辑语句及关键字;熟悉JavaScript的面向对象编程;需求描述商店里进行购物结算时会使用收银机(POS)系统,这台收银机会...

    oscalendar:OpenSim日历v0.1

    oscalendar v0.1 djphil的OpenSim日历v0.1(CC-BY-NC-SA 4.0)

    JavaScript权威指南(第6版).JavaScript:The.Definitive.Guide

    中文名: JavaScript权威指南 (第6版) 原名: JavaScript: The Definitive Guide: Activate Your Web Pages, 6th edition 作者: David Flanagan 版本: 英文文字版-pdf/EPUB + 完整书中源代码 出版社: O'Reilly 书号: ...

Global site tag (gtag.js) - Google Analytics