2017-10-20 14 views
0

배열이있어서 문자열 일치 수를 찾아야합니다.배열의 일치 개수 계산 Lodash

Array = ['car','road','car','ripple']; 

    Array.forEach(function(element) { 
     // Here for every element need to see how many there are in the same array. 
     // car = 2 
     //road = 1 
//... 
    }, this); 

답변

2

_.countBy 방법을 사용하십시오. 당신은 객체를 가지고 있습니다. 여기서 키는 배열과 값에 문자열을 넣습니다. 적절한 문자열에 대한 발생 횟수입니다.

var arr = ['car','road','car','ripple']; 
 

 
console.log(_.countBy(arr));
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.js"></script>

1

바닐라 JS에서는 Array#reduce 사용할 수 있습니다

var array = ['car','road','car','ripple']; 
 

 
var result = array.reduce(function(r, str) { 
 
    r[str] = (r[str] || 0) + 1; 
 

 
    return r; 
 
}, {}); 
 

 
console.log(result);