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 用三极管设计—个共射极放大电路
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示