function printInventory(inputs) { var sum = allsum(inputs) var exa = example(inputs) var title = '***<没钱赚商店>购物清单***\n' for (var i=0;i<exa.length;i++){ //遍历数组组合清单 title = title+'名称:'+exa[i].name+',数量:'+exa[i].number+exa[i].unit+',单价:'+exa[i].price.toFixed(2)+'(元),小计:'+(exa[i].number*exa[i].price).toFixed(2)+'(元)\n' } console.log(title+'----------------------\n总计:'+sum.toFixed(2)+'(元)\n**********************') } function example(inputs){ var barcode_exa = []; var example = [] :evil: :evil: inputs.forEach(function(value){ //遍历数组inputs if (barcode_exa.indexOf(value.barcode) == -1){ value.number=1 //给inputs内的商品信息对象添加属性number:1 example.push(value) //商品信息push进一个空白数组example barcode_exa.push(value.barcode) //条码push进一个空白数组把人从的——exa }else{example[example.length-1].number++} //统计数据自加 (如果这样计数的话前面还要排序一次才行啊) }) :evil: return example } function allsum(inputs){ var sum = 0 for (var i=0;i<inputs.length;i++){ sum += inputs[i].price } return sum //计算总价 }//我想哭 :cry: :cry: :cry: :cry: :cry: :cry:
第三次修改结果:
//TODO: 请补完下面的函数以完成需求.
function printInventory(inputs) { var Items_info = get_Itemsinfo(inputs) //调用函数 var lnventory = title(Items_info) console.log(lnventory) } function get_Itemsinfo(inputs){ //函数,实现获取商品信息包括商品数量 var barcode_exa = []; var example = [] inputs.forEach(function(value){ if (barcode_exa.indexOf(value.barcode) == -1){ value.number=1 example.push(value) barcode_exa.push(value.barcode) }else {example[barcode_exa.indexOf(value.barcode)].number++} //计数方式修改,因为同时推入两个数组所以索引是对应的 }) return example } function title(example){ //计算总价,拼接清单 var sum = 0 var title = '***<没钱赚商店>购物清单***\n' example.forEach(function(one){ sum += one.number*one.price title = title+'名称:'+one.name+',数量:'+one.number+one.unit+',单价:'+one.price.toFixed(2)+'(元),小计:'+(one.number*one.price).toFixed(2)+'(元)\n' }) return title+'----------------------\n总计:'+sum.toFixed(2)+'(元)\n**********************' }我想疯 :D :D :D (直觉告诉我上面一句的return还是有问题要改)
最后一次修改结果:
//TODO: 请补完下面的函数以完成需求. function printInventory(inputs) { var items_info = get_items_info(inputs) var list = title(items_info) console.log(list) } function get_items_info(inputs){ //去重统计数量 var barcode = []; var items_info_count = [] inputs.forEach(function(value){ var i = barcode.indexOf(value.barcode) if (i == -1){ value.number=1 items_info_count.push(value) barcode.push(value.barcode) return } items_info_count[i].number++ }) return items_info_count } function title(example){ var sum = 0 var title = '***<没钱赚商店>购物清单***\n' example.forEach(function(value){ sum += value.number*value.price title = title+'名称:'+value.name+',数量:'+value.number+value.unit+',单价:'+value.price.toFixed(2)+'(元),小计:'+(value.number*value.price).toFixed(2)+'(元)\n' }) var list = title+'----------------------\n总计:'+sum.toFixed(2)+'(元)\n**********************' return list }
相关推荐
FS4062的应用领域非常广泛,包括唱戏机、扩音器、蓝牙音响、POS机、电动工具等多类多串锂电池应用产品。 FS4062的特点包括: * 输入电压4.5V-6V * 对多串锂电池或磷酸铁锂电池进行完整的充电管理 * 恒压充电值由外...
在本文中,我们将深入探讨如何使用TMS320F28335微控制器的增强型正交编码器接口(EQEP)来测量电机...在实际项目中,开发者可能还需要结合"eqep_pos_speed"这样的示例代码或文档,进一步了解具体的编程细节和实践技巧。
1. **高精度输出电压**:S-1200系列能够在1.5V到5.5V的范围内以0.1V为进阶单位选择输出电压,满足不同应用场景的需求。 2. **支持小型陶瓷电容器**:该系列稳压器可以使用0.1μF的小型陶瓷电容器,有助于减小电路板...
MT6735是一款由联发科(MediaTek)推出的面向入门级和中低端智能手机和平板电脑的系统级芯片(SoC),它在Android设备中广泛使用,尤其适用于工业控制主板、POS机以及各种移动应用场景。这个资料套装包含了与MT6735...
1. **电压**:多数舵机工作在4.8V至6V之间,S3010可能也是如此,确保在指定电压范围内供电以避免损坏。 2. **扭矩**:扭矩是衡量舵机能产生的转动力的指标,S3010可能具有一定的额定扭矩,比如2kg·cm或更高,这决定...
06033C104JAT2A CAP, CERM, 0.1 礔, 25 V, +/- 5%, X7R, 0603 06035A180JAT2A CAP, CERM, 18 pF, 50 V, +/- 5%, C0G/NP0, 0603 1715721 Conn Term Block, 2POS, 5.08mm, TH 1902C Standoff, Hex, 0.5"L #4-40 ...
3. **电子销售点系统**:在POS机等商业设备中,稳定的电源监控是至关重要的。 4. **电网基础设施**:在电力传输和分配系统中,可靠电压监控有助于防止故障。 5. **数据中心和企业计算**:在服务器和数据中心,高效的...
该模块的应用场景十分广泛,可以用于云喇叭、POS机、对讲机(PoC)、固定无线接入(FWP)等多种物联网设备中,满足不同行业的通信需求。 #### 二、关键技术和规格参数 1. **支持的网络制式**: - **4G LTE**: 支持FDD-...
蓝芯E管家 V2.0.0.1 Bate1 a).修正基础信息不能获取维修单单号的BUG. b).修正账单查询其他功能不是按月统计的BUG. c).修正维修单完结后还存留在售后表里面. d).修正维修单入账失败的BUG. 2014-01-23 21:00 蓝芯E...
5. **多样化的应用领域**:适用于POS系统、蓝牙键盘、鼠标、游戏手柄、家庭自动化、智能玩具、无线传感器等多种场景。 #### 三、模块技术规格 - **蓝牙协议**:支持最新的Bluetooth Specification V2.1+EDR标准...
也适用于POS手持机行业,支持CMUX多路复用和PPP拨号协议。 #### SIM800W/SIM840W概述 - **产品特点**:SIM800W/SIM840W是一款功能全面的GPRS/GSM模块,尺寸为26x26x3mm,采用独立的内存芯片。 - **接口与功能**:...
20. `IN_POS_MA = 0.1`: 定位窗口,允许的定位误差范围。 21. `RED_VEL_AXC = 5`: 轴的速度缩减系数,用于手动操作时的速度调整。 22. `RED_ACC_0V = 100`: 轴的加速倍率的缩减,可能与速度超额设定值有关。 23. ...
SSD1801字符显示驱动器的设计可以用于多种设备,包括无绳电话、销售点系统(POS)、传真机以及简单的便携式系统等场景。这款驱动器能够显示2行或3行,每行16个字符,字符的格式为5x8点阵。 SSD1801的主要功能特点...
- **电源**:支持3.4V ~ 4.2V电压范围,典型值为3.8V。 - **尺寸与重量**:尺寸为30.0*30.0*2.5mm,重量为4.6±0.1g。 - **数据传输速度**:具体速度见AT指令操作部分。 - **其他接口**:包括USB2.0、(U)SIM卡、PCM...
2. 可选配置:剩余车位显示屏/顾客显示屏/票据打印机/车牌识别/人像抓拍/证件抓拍/羊城通 POS 扣费 3. 预留接口:钱箱联动/红绿通行指示灯/银联卡交费/深圳通卡交费/手机卡交费/消费打折/积分抵扣/消防联动等 十一...
- **命令仿真**:支持ESC/POS部分指令集。 - **外观尺寸**: - 尺寸:102*78*46mm。 - 重量:134g(含电池)。 - **型号**:5802 和 5801。 - **充电指示灯**:红色表示充电中,蓝色表示充满。 - **外部接口**:9V...
10、数据输出频率0.1Hz~200Hz。 11、数据接口:串口(TTL电平,波特率支持2400、4800、9600、19200、38400、57600、115200、230400、460800、921600),I2C(最大支持高速IIC速率400K) 12、扩展口功能:模拟输入(0~...