Javascript 仅使用reduce的数组中出现的计数字符串未读取最后一个值
我会制作一个程序来减少数组中字符串出现的次数 我应该只使用它 这是我的节目Javascript 仅使用reduce的数组中出现的计数字符串未读取最后一个值,javascript,reduce,Javascript,Reduce,我会制作一个程序来减少数组中字符串出现的次数 我应该只使用它 这是我的节目 function countWords(inputWords) { let obj={}; inputWords.reduce((curr,next )=> { obj[curr]=0; inputWords.reduce((current,next2)=> { if(curr===current) { obj[curr]++; }
function countWords(inputWords) {
let obj={};
inputWords.reduce((curr,next )=> {
obj[curr]=0;
inputWords.reduce((current,next2)=> {
if(curr===current) {
obj[curr]++;
}
return next2
});
return next;
})
return obj
}
我的结果是什么
我的结果:{实习:1,非:1,irure:1,COMODO:3,velit:
官方:1,奉献:4,劳工:2,东部:2,阿利基普:1,
例外:1,消费:1,麦格纳:1,身份证:1,艾乌斯莫德:1,威尼斯:1,
动物:1,乌拉姆科:1,精英:2,无主:1,丘比特:2,冒失:1,
洛勒姆:公元1年,奎斯:公元1年,多洛尔:公元1年,奥卡卡特:公元1年,阿利夸:公元1年,时间:
1,do:1,dolor:1,labore:1}
预期:
预期结果:{实习:1,非:1,irure:1,commodo:3,
维利特:2,官方:1,奉献:4,劳工:2,东部:2,阿利基普:1,
例外:1,消费:1,麦格纳:1,身份证:1,艾乌斯莫德:1,威尼斯:1,
动物:1,乌拉姆科:1,精英:2,无主:1,丘比特:2,冒失:1,
洛勒姆:公元1年,奎斯:公元1年,多洛尔:公元1年,奥卡卡特:公元1年,阿利夸:公元1年,时间:
1,do:1,dolor:1,labore:1,amet:1}
以下是输入文字:
输入:[‘实习’、‘非’、‘irure’、‘commodo’、‘velit’、‘officia’,
“Concertetur”、“commodo”、“laboris”、“est”、“aliquip”、“excepteur”,
“consequat”、“concetetur”、“magna”、“id”、“eiusmod”、“veniam”,
‘阿尼姆’、‘康塞泰图’、‘乌拉姆科’、‘艾利特’、‘努拉’、‘丘比特’,
“proident”、“commodo”、“laboris”、“est”、“lorem”、“Concertetur”,
‘elit’、‘ad’、‘quis’、‘dolore’、‘occaecat’、‘aliqua’、‘Cupidata’,
‘临时’、‘做’、‘多洛’、‘维利特’、‘劳工’、‘阿米特’]
可能不需要在另一个reduce方法中使用reduce。 在对象中,检查键是否存在,如果不存在,则在对象中创建键,否则将其值更新为1
让输入=[‘实习’、‘非’、‘伊鲁尔’、‘康姆多’、‘维利特’、‘官方’、‘康姆多’、‘劳工’、‘est’、‘阿利奎普’、‘例外’、‘康斯奎特’、‘康斯奎特’、‘康斯奎特’、‘康斯奎特’、‘康斯泰特’、‘麦格纳’、‘id’、‘艾乌拉姆科’、‘艾利特’、‘艾利特’、‘阿奎特’、‘阿奎斯特’、‘d“奥洛尔”、“奥卡卡特”、“阿利夸”、“丘比特”、“临时”、“杜”、“多洛”、“维利特”、“劳工”、“艾米特”]
让结果=输入。减少(功能(acc,curr){
如果(!acc.hasOwnProperty(curr)){
acc[curr]=1;
}否则{
acc[curr]+=1;
}
返回acc;
}, {})
console.log(result)
可能不需要在另一个reduce方法中使用reduce。
在对象中,检查键是否存在,如果不存在,则在对象中创建键,否则将其值更新为1
让输入=[‘实习’、‘非’、‘伊鲁尔’、‘康姆多’、‘维利特’、‘官方’、‘康姆多’、‘劳工’、‘est’、‘阿利奎普’、‘例外’、‘康斯奎特’、‘康斯奎特’、‘康斯奎特’、‘康斯奎特’、‘康斯泰特’、‘麦格纳’、‘id’、‘艾乌拉姆科’、‘艾利特’、‘艾利特’、‘阿奎特’、‘阿奎斯特’、‘d“奥洛尔”、“奥卡卡特”、“阿利夸”、“丘比特”、“临时”、“杜”、“多洛”、“维利特”、“劳工”、“艾米特”]
让结果=输入。减少(功能(acc,curr){
如果(!acc.hasOwnProperty(curr)){
acc[curr]=1;
}否则{
acc[curr]+=1;
}
返回acc;
}, {})
console.log(result)
您应该始终返回包含reducer中频率的对象。初始对象可以是数组的第二个参数。reduce
所以,这里有一条给你的单行线:
(()=>{
常量输入=[‘实习’、‘非’、‘irure’、‘commodo’、‘velit’、‘officia’,
“Concertetur”、“commodo”、“laboris”、“est”、“aliquip”、“excepteur”、“consequat”,
“康塞特图尔”、“麦格纳”、“id”、“eiusmod”、“威尼斯”、“动漫”、“康塞特图尔”,
‘ullamco’、‘elit’、‘nulla’、‘Cupidata’、‘proident’、‘Comodo’、‘laboris’、‘est’、‘est’,
“lorem”、“Concertetur”、“elit”、“ad”、“quis”、“dolore”、“occaecat”、“aliqua”,
“cupidatat”、“tempor”、“do”、“dolor”、“velit”、“labore”、“amet”];
log(input.reduce((f,v)=>f中的v?(f[v]+=1,f):(f[v]=1,f),{});
/*也可以写为:
输入.减少((频率,值)=>{
if(频率[值]){
//频率包含值键,因此递增
频率[值]+=1;
}否则{
//向频率添加值并初始化([值]=1)
频率[值]=1;
}
//返回现在更新的频率对象以供进一步使用
返回频率;
}, {});
//^初始频率对象
*/
})();
您应该始终返回包含减速机内频率的对象。初始对象可以是数组的第二个参数。减速机
所以,这里有一条给你的单行线:
(()=>{
常量输入=[‘实习’、‘非’、‘irure’、‘commodo’、‘velit’、‘officia’,
“Concertetur”、“commodo”、“laboris”、“est”、“aliquip”、“excepteur”、“consequat”,
“康塞特图尔”、“麦格纳”、“id”、“eiusmod”、“威尼斯”、“动漫”、“康塞特图尔”,
‘ullamco’、‘elit’、‘nulla’、‘Cupidata’、‘proident’、‘Comodo’、‘laboris’、‘est’、‘est’,
“lorem”、“Concertetur”、“elit”、“ad”、“quis”、“dolore”、“occaecat”、“aliqua”,
“cupidatat”、“tempor”、“do”、“dolor”、“velit”、“labore”、“amet”];
log(input.reduce((f,v)=>f中的v?(f[v]+=1,f):(f[v]=1,f),{});
/*也可以写为:
输入.减少((频率,值)=>{
if(频率[值]){
//频率包含值键,因此递增
频率[值]+=1;
}否则{
//向频率添加值并初始化([值]=1)
频率[值]=1;
}
//返回现在更新的频率对象以供进一步使用
返回频率;
}, {});
//^初始频率对象
*/
})();
你没有正确地使用减少。看到这个了吗。你没有正确地使用减少。看到这个了吗