質問: [1.5 , 3 , 4 , 5.5 , 5.5 , 7 , 1.5] 配列を並び替える方法はわかるのですが, 順位をつける方法として,map関数やfilter関数が使えるのではと考えたのですが よくわかりませんでした みなさんからご指摘いただいたように,もう少し自分で調べて考えてみることにします
回答: とりあえず普通の順位 ``` const ranking=(arr,num)=>[1,2].indexOf(num)<0?null:arr.map((x,y,z)=>z.filter(w=>(num==2)?wx).length+1); let a = [68,74,60,56,77,66,77,83]; console.log(ranking(a,1)); console.log(ranking(a,2)); console.log(ranking(a)); //null console.log(ranking(a,3)); //null ``` 平均 == ``` const ranking=(arr,num)=>[1,2].indexOf(num)<0?null:arr.map((x,y,z)=>z.filter(w=>(num==2)?wx).length+1).map((x,y,z)=>{const l=z.filter(w=>w==x).length;return l==1?x:(x*2+l-1)/2}); // 微調整 let a = [56,66,68,77,77,83,56]; console.log(ranking(a,1)); console.log(ranking(a,2)); ```