예를 들면 :
var array = ['a','a','b','b','c','c','c','c','d','d','d','d','d','d'];
var ans = array.reduce(function(acc,curr){
if(typeof acc[curr] == 'undefined') {
acc[curr] = 1;
} else {
acc[curr] += 1;
}
return acc;
}, {});
나에게 줄 것이다 :
ans = {'a':'2','b':'2','c':'4','d':'6'}
하지만 내 목표는이 형식으로
ans = [{'word':'a','count':'2'},{'word':'b','count':'2'},{'word':'c','count':'4'},{'word':'d','count':'6'}]
어떤 도움을 주시면 감사하겠습니다.
이미 간결한 데이터 형식이 있지만 더 자세한 버전으로 변환해야하는 경우 시도해보십시오.
var wordCount = [];
Object.keys(ans).forEach(function(word) {
wordCount.push({
word: word,
count: ans[word]
});
});
올인원 솔루션을 원한다면이 솔루션을 사용해보십시오.
var array = ['a','a','b','b','c','c','c','c','d','d','d','d','d','d'];
var ans = array.map(function(word) {
return { word: word, count: 1 };
}).reduce(function(p, c) {
for (var i = 0, l = p.length; i < l; i++) {
if (p[i].word === c.word) {
p[i].count += c.count;
return p;
}
}
p.push(c);
return p;
}, []);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다