比如1,2,2,5,9这组数字,有一组相同的数字为2,相同个数为2。1,1,3,3,3有两组相同数字,一组相同数字为1,相同个数为2,一组相同数字为3,相同个数为3。
现在要求写一个函数,随便输入一组数字就得出这样的结果,该怎么写?
比如1,2,2,5,9这组数字,有一组相同的数字为2,相同个数为2。1,1,3,3,3有两组相同数字,一组相同数字为1,相同个数为2,一组相同数字为3,相同个数为3。
现在要求写一个函数,随便输入一组数字就得出这样的结果,该怎么写?
楼上的稍显不完备
function fengxi(array){
var count={};
for (var i = 0; i < array.length; i++) {
if (count[array[i]]) {
count[array[i]]++;
}else {
count[array[i]]=1;
}
}
var out=[];
for (var key in count) {
if (count[key]>1) {
out.push({"key":key,"count":count[key]})
}
}
var rt="输入数组中存在"+out.length+"组重复数字,它们是:\n"
for (var i=0;i<out.length;i++){
rt=rt+out[i]["key"]+"重复了"+out[i]["count"]+"次\n";
}
return rt;
}
console.log( fengxi([1,1,3,3,3]) );
function getSameNumber(array){
return array.reduce(function(p,n){
if(!p[n]){
p[n] = 1;
}else{
p[n] += 1
}
return p
},{});
}
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
1 回答3.4k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决