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 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答