最近在面试的时候出现的一个考题,当时做出来了,回来验证后发现有点小问题,现在把这个记录下来供自己以后参考。自己写的,用的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]
本文介绍了一个使用ES6实现的函数,该函数用于找出数组中重复出现的元素,并统计每个重复元素的数量。最后按数量升序返回这些元素。

1832

被折叠的 条评论
为什么被折叠?



