gpt4 book ai didi

javascript - 使用 array.reduce 方法统计重复元素

转载 作者:搜寻专家 更新时间:2023-11-01 05:23:01 24 4
gpt4 key购买 nike

<分区>

我正在学习有关函数式 JS 的教程,我正在接受一个需要使用 reduce 方法的挑战:

给定一个随机的单词数组,输出一个显示单词及其字数的数组,例如:['apple', 'orange', 'grape', 'apple'] -> ['apple: 2', 'orange: 1', 'grape: 1']

我知道这不是 reduce 的正确用法,但这是我的半工作解决方案:

var wordCountsArray = inputWords.map(function(item) {
var counter = 0;
var itemCount = inputWords.reduce(function(prevVal, curVal) {
if (curVal == item) {
counter++;
}
return;
}, 0);

return item + ": " + counter;
})

console.log(wordCountsArray);

这确实输出了字数,但是字数列表有重复,即看起来像:

['apple: 2', 'orange: 1', 'grape: 1', 'apple: 2']

代替

['apple: 2', 'orange: 1', 'grape: 1']

我已经查阅了 MSDN 的方法指南、Mozilla 的几个博客。我知道它是如何作为累加器工作的,但是因为它使用上一次迭代的输出作为下一次迭代的输入,所以我不知道如何将它应用到这个任务中。我不需要解决方案,但可能对理解有一点帮助?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com