数组去重和排序
给定一个乱序的数组,数组大小不超过100.删除所有的重复元素,使得每个元素只出现一次,
并且按照出现的次数从高到低进行排序,相同出现次数按照第一次出现顺序进行先后排序。
输入 1,3,3,3,2,4,4,4,5
输出 3,4,1,2,5
let arr = [1,3,3,3,2,4,4,4,5]
let objArr = []
for(let [idx,i] of arr.entries()) {
let hasItem = false
for (let o of objArr) {
if (o.value === i) {
hasItem = true
o.index++
}
}
if (!hasItem) {
objArr.push({
value: i,
index: 1,
firstIndex: idx
})
}
}
objArr.sort((a,b) => {
return b.index - a.index
})
let resultArr = []
for(let i of objArr){
resultArr.push(i.value);
}
console.log(resultArr.join(','));
机试题 文章被收录于专栏
某机试题,网上很少用js写的答案只有自己写了