qq_39331349 2017-07-19 08:34 采纳率: 0%
浏览 808
已结题

将一个统计数组中重复元素的方法分成两个方法来实现

下面的代码是一个统计inputs数组中的重复元素的方法,现在老师让我将该方法拆解成两个方法来实现,最好是将第二个for循环拆解成一个方法
var inputs=[
{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: 'ITEM000004',name: '电池',unit: '个',price: 2.00} ,
{barcode: 'ITEM000001',name: '雪碧',unit: '瓶',price: 3.00},];
function get_list(inputs){
var items=[];

items.push(inputs[0]);
items[0].count=0;
for(var i=0;i<inputs.length;i++){

for(var j=0;j<items.length;j++){

if(inputs[i].barcode==items[j].barcode){

items[j].count++;

break;
}
else if(j==items.length-1){

inputs[i].count=1;

items.push(inputs[i]);
break;

           }  
      }     
  }

return items;

}

  • 写回答

5条回答

  • 骑着蜗牛去爬山 2017-07-19 08:51
    关注

    function get_list2(inputs){
    var items=[];
    for(var i=0;i<inputs.length;i++){
    var item=inputs[i];
    var key=item.barcode+"_"+item.name+"_"+item.unit+"_"+item.price;
    if(items[key]){
    items[key].count++;
    }
    else{
    items[key]={count:1,data:item};
    }
    }
    console.log(items);
    }

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料