Is there a Javascript function similar to the Python Counter function?

前端 未结 6 2223
逝去的感伤
逝去的感伤 2021-02-19 01:17

I am attempting to change a program of mine from Python to Javascript and I was wondering if there was a JS function like the Counter function from the collections module in Pyt

6条回答
  •  礼貌的吻别
    2021-02-19 02:04

    DIY JavaScript solution:

    var list = ['a', 'b', 'c', 'b', 'a', 'b', 'c', 'a', 'a', 'a'];
    
    function Counter(array) {
      var count = {};
      array.forEach(val => count[val] = (count[val] || 0) + 1);
      return count;
    }
    
    console.log(Counter(list));
    

    JSFiddle example

    Update:

    Alternative that uses a constructor function:

    var list = ['a', 'b', 'c', 'b', 'a', 'b', 'c', 'a', 'a', 'a'];
    
    function Counter(array) {
      array.forEach(val => this[val] = (this[val] || 0) + 1);
    }
    
    console.log(new Counter(list));
    

    JSFiddle example

提交回复
热议问题