js 字符串数组去重
时间: 2024-01-04 22:04:27 浏览: 70
以下是两种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']
```
相关问题
js mop数组去重
在JavaScript中,可以使用filter方法对数组进行去重。具体实现方法是,使用filter方法对数组进行遍历,然后使用indexOf方法判断当前元素在数组中第一次出现的位置是否等于当前位置,如果相等则说明该元素是第一次出现,保留该元素,否则过滤掉该元素。下面是一个示例代码:
```
let arr = ['a', 1, '字符串', 'c', 'a', '字符串', 1, 'b' , 2];
let res = arr.filter(function (el, index, self) {
return self.indexOf(el) === index;
});
// res ==> [ 'a', 1, '字符串', 'c', 'b', 2 ]
```
在上面的代码中,使用filter方法对数组arr进行遍历,然后使用indexOf方法判断当前元素在数组中第一次出现的位置是否等于当前位置,如果相等则说明该元素是第一次出现,保留该元素,否则过滤掉该元素。最终得到的结果是一个去重后的新数组res。
js map数组去重
JS中的Map对象可以用于数组去重,它是ES6中新出的语法,本质上也是键值对,只是其键不局限于普通对象的字符串。使用Map对象去重的方法是遍历数组,如果Map对象中不存在当前元素,则将其添加到Map对象中,并将其添加到新数组中。如果Map对象中已经存在当前元素,则不将其添加到新数组中。除了Map对象,还可以使用双层for循环和Array.filter和map对象数组去重等方法进行数组去重。
阅读全文