rubinTime 发表于 2022-2-21 17:38:54

去除重复的字符串方法,你会几个?

大家可以在评论区写出你的解法

// 去除字符串中重复的字符
//1.借助数组的indexof和filter方法
function removeDuplicateChar1(str){
let str_arr= Array.prototype.filter.call(str,function(char,index,arr){
    returnarr.indexOf(char) === index
})
return str_arr.join('')
}
//2.利用Set数据结构天然去重的能力
function removeDuplicateChar2(str){
const set =new Set(str)
return [...set].join('')
}
//3.利用对象的覆盖能力
function removeDuplicateChar3(str){
   let obj={}
   for(let char of str){
   obj[char]=true
   }
   return Object.keys(obj).join('')
}
console.log(removeDuplicateChar1('aabbbcdd'))
console.log(removeDuplicateChar2('bnvvnd'))
console.log(removeDuplicateChar2('abcabc'))
console.log(removeDuplicateChar3('aabbckl'))



王一之 发表于 2022-2-21 18:12:48

这是去除重复的字符吧?

第一反应就是map,第二反应bitmap(如果限定是字母的话)

rubinTime 发表于 2022-2-21 19:29:19

王一之 发表于 2022-2-21 18:12
这是去除重复的字符吧?

第一反应就是map,第二反应bitmap(如果限定是字母的话)


对的,哥哥可以写出来,大家相互学习

涛之雨 发表于 2022-2-21 20:35:24

var a=a=>[...new Set(a)].join('')
习惯这个(写一起丢到箭头函数里)
短小精悍

李恒道 发表于 2022-2-21 21:57:53

楼上秀到我了,哥哥基本给常见几种方法都说出来了

lty123 发表于 2022-2-22 15:27:18

太强了

脚本体验师001 发表于 2022-2-22 19:59:18

技术帖子,必须顶
页: [1]
查看完整版本: 去除重复的字符串方法,你会几个?