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
}
7244

被折叠的 条评论
为什么被折叠?



