您的位置:首页 > 其它

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

2017-11-15 12:57 696 查看
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}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  reduce