var countedNames = names.reduce(function (allNames, name) {
console.log('allNames::'+allNames+";;name::"+name);
if (name in allNames) {
allNames[name]++;
console.log(2000,allNames)
}
else {
console.log(4444,allNames);
allNames[name] = 1;
console.log(4441,allNames);
}
return allNames;
}, {});
console.log(1000,countedNames);
打印結果::
allNames::[object Object];;name::Alice4444 {}
4441 {Alice: 1}
allNames::[object Object];;name::Bob
4444 {Alice: 1}
4441 {Alice: 1, Bob: 1}
allNames::[object Object];;name::Tiff
4444 {Alice: 1, Bob: 1}
4441 {Alice: 1, Bob: 1, Tiff: 1}
allNames::[object Object];;name::Bruce
4444 {Alice: 1, Bob: 1, Tiff: 1}
4441 {Alice: 1, Bob: 1, Tiff: 1, Bruce: 1}
allNames::[object Object];;name::Alice
2000 {Alice: 2, Bob: 1, Tiff: 1, Bruce: 1}
1000 {Alice: 2, Bob: 1, Tiff: 1, Bruce: 1}