reduce计算数组中元素出现的次数

来源:互联网 发布:淘宝上春药叫什么名字 编辑:程序博客网 时间:2024/06/06 23:52
var names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice'];

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::Alice
 4444 {}
 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}
原创粉丝点击