给定一个字符串
11223344,返回去重后的结果。1234
方法一
先定义一个空数组 arr, 用来存放去重后的数据, 然后开始遍历字符串的每一个字符, 在 arr 中检查当前字符
- 如果
arr中没有当前字符, 则把当前字符添加到arr中 遍历结束之后,arr中的数据就已经去重了, 最后再把数组转成字符串。
function uniqueu(str: string) {
const arr = []
for(let c of str) {
if(!arr.includes(c)) {
arr.push(c)
}
}
return arr.join('');
}
方法二
还可以使用 ES6 的 Set 类, 用 Set 值的唯一性去重。 先通过解构赋值把 str 转成数组, 再把数组成 set数组,这个时候 set数组 内的数据已经去重了, 然后把 set数组 转成 标准数组, 再通过 join 方法转成字符串。
function uniqueu(str: string) {
return [...new Set([...str])].join();
}
总结
- 方法一是使用数组查找的方式去重
- 方法二是使用 Set 的唯一去重 这两种方法原理都可以实现数组去重, 数组去重和字符串去重都大同小异。