使用js实现字符串去重
时间: 2023-09-10 21:11:05 浏览: 55
可以使用ES6中的Set数据结构来实现字符串去重。
具体做法如下:
1. 将字符串转换为数组,使用split()方法;
2. 创建一个空的Set对象,用于存储去重后的字符串;
3. 遍历数组,将每个元素添加到Set中;
4. 将Set转换为数组,使用Array.from()方法。
实现代码如下:
```javascript
function removeDuplicate(str) {
let arr = str.split("");
let set = new Set(arr);
let result = Array.from(set);
return result.join("");
}
```
使用示例:
```javascript
let str = "hello world";
let result = removeDuplicate(str);
console.log(result); // "hel o wrd"
```
注意:上述代码只能去除单个字符的重复,对于多个字符相同但位置不同的情况无法处理。如果需要考虑多个字符相同但位置不同的情况,可以使用其他方法,例如排序后再比较。
相关问题
ES5中使用js实现字符串去重
方法一:使用indexOf方法判断字符串是否已经存在,如果不存在则加入新的数组中。
```javascript
function unique(str){
var arr = [];
for(var i=0; i<str.length; i++){
if(arr.indexOf(str[i]) === -1){
arr.push(str[i]);
}
}
return arr.join('');
}
console.log(unique('abcbcd')); // abcde
```
方法二:使用ES6中的Set数据结构去重,然后再将结果转为字符串。
```javascript
function unique(str){
var arr = Array.from(new Set(str));
return arr.join('');
}
console.log(unique('abcbcd')); // abcde
```
js 字符串数组去重
以下是两种JS实现字符串数组去重的方法:
1. 非正则实现(ES6实现):
```javascript
var arr = ['apple', 'banana', 'orange', 'apple', 'banana'];
var uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr); // 输出:['apple', 'banana', 'orange']
```
2. 利用for循环嵌套for循环,然后使用splice方法去重(ES5中最常用):
```javascript
var arr = ['apple', 'banana', 'orange', 'apple', 'banana'];
for (var i = 0; i < arr.length; i++) {
for (var j = i + 1; j < arr.length; j++) {
if (arr[i] === arr[j]) {
arr.splice(j, 1);
j--;
}
}
}
console.log(arr); // 输出:['apple', 'banana', 'orange']
```