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}
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计算数组中每个元素出现的次数
- Array.prototype.reduce()计算元素出现次数和去重
- Array.prototype.reduce统计数组中各元素出现次数
- js计算数组中每个元素出现的次数
- 数组去重与计算元素出现次数
- 利用Map特性计算数组中元素重复出现的次数
- 统计数组中出现次数最多的元素并输出
- 求一个数组中重复元素出现最多值,最大的元素及出现次数,次数相同时,取最大值,优先考虑次数
- 给定一个整数数组,其中元素的取值范围为0到10000,求其中出现次数最多的数
- js统计一个字符串出现最多的字母(或者数组中出现次数最多的元素)
- 宝典练习1之在排序数组中找指定元素出现次数
- 在一个整型数组中有一个元素的出现次数超过了数组长度的一半,试设计一个 在时间上尽可能高效的算法,找出这个元素。
- 统计数组中各个元素出现的次数,并按照次数从大到小排序
- [折半查找]排序数组中某个元素出现次数
- js 算出Array数组中出现次数最多的元素
- 整型数组中出现次数最多的元素
- MongoDB统计文档(Document)的数组(Array)中的各个元素出现的次数
- python 统计数组中元素出现次数并进行排序的实例
- 求数组中出现次数超过一半的元素
- java中判断数组中元素出现的次数