JavaScript Group By Array

前端 未结 2 1046
暖寄归人
暖寄归人 2020-12-01 09:30

Possible Duplicate:
array_count_values for javascript instead

Let\'s say I have simple JavaScript array like

2条回答
  •  难免孤独
    2020-12-01 09:41

    var arr = [ 'Car', 'Car', 'Truck', 'Boat', 'Truck' ];
    var hist = {};
    arr.map( function (a) { if (a in hist) hist[a] ++; else hist[a] = 1; } );
    console.log(hist);
    

    results in

    { Car: 2, Truck: 2, Boat: 1 }
    

    This works, too:

    hist = arr.reduce( function (prev, item) { 
      if ( item in prev ) prev[item] ++; 
      else prev[item] = 1; 
      return prev; 
    }, {} );
    

提交回复
热议问题