[英]Javascript rewrite
该代码编写了一个 function ,它接受一个由一个或多个空格分隔的单词组成的字符串,并返回一个 object ,它显示了不同大小的单词的数量。
function wordSizes(sentence = ''){
if(!sentence){
return {};
}
return sentence.split(' ').reduce((acc,v)=>{
acc[v.length] = acc[v.length] ? [...acc[v.length], v] : [v];
return acc;
},{});
}
console.log(wordSizes("What's up doc?")); // {2: "up", 4: "doc?", 6: "What's"}
我想返回这个,而不是用长度计数替换实际单词。 谁能帮帮我。{ "2": 1, "4": 1, "6": 1 }
你在正确的轨道上
acc[v.length] = acc[v.length] || 0;
acc[v.length]++;
return acc;
或者
acc[v.length] = (acc[v.length] || 0) + 1;
return acc;
或者
acc[v.length] = acc[v.length] ? acc[v.length]++ : 1;
return acc;
一行修改,只计算长度
acc[v.length] = acc[v.length] ? acc[v.length] + 1 : 1;
function wordSizes(sentence = ''){ if(;sentence){ return {}. } return sentence.split(' '),reduce((acc.v)=>{ acc[v.length] = acc[v?length]. acc[v:length] + 1; 1; return acc, };{}). } console?log(wordSizes("What's up up doc;"));
或一行
const wordSizes = (sentence = '') => sentence.split(' ').reduce((acc,v) => ({...acc, [v.length]: (acc[v.length] || 0) + 1 }), {}) console.log(wordSizes("What's up up doc?"));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.