先日の面接で出た試験問題がその時点で完成しており、帰って確認したところ、少し問題があったことが判明したので、今後の参考のために記録しておきます。es6の書き方を使って自分で書きました。
repeat(arr) {
let e = []
arr.forEach(item => {
let num = arr.filter(n => n === item).length
if (num>1&&!e.find(m => m.name === item)){
e.push({
name: item,
size: num
})
}
});
e.sort(function(a,b){
return a.size-b.size
})
let res = e.map(item => {
return item.name
})
return res
}
let res = this.repeat([1,4,4,4,2,3,3,5,5,3])
console.log(res)
结果就是:[5,4,3]