4、数组去重. var arr = ['第一','第一','第二','第五','第五','第八','第七','第九','1','1','2'];
时间: 2024-09-07 09:02:47 浏览: 42
数组去重主要是为了从给定的一组元素中去除重复项,保留唯一的值。在JavaScript中,有多种方法可以实现数组去重:
1. 使用Set数据结构:Set是一种不允许重复值的集合,将数组转为Set,再转回数组即可去除重复。
```javascript
let arr = ['第一', '第一', '第二', '第五', '第五', '第八', '第七', '第九', '1', '1', '2'];
let uniqueArr = Array.from(new Set(arr));
```
2. 利用filter()方法:遍历数组并使用indexOf()检查元素是否存在,不存在则添加到新数组。
```javascript
uniqueArr = arr.filter((item, index) => arr.indexOf(item) === index);
```
3. 应用reduce()方法:通过迭代器函数,检查当前元素是否已经存在于结果数组中。
```javascript
uniqueArr = arr.reduce((prev, cur) => prev.includes(cur) ? prev : [...prev, cur], []);
```
相关问题
数组去重 例如:var arr = [1,2,3,4,5,3,4,6,8,1] 编写程序去除数组内重复的值得到如下结果 arr = [1,2,3,4,5,6,8]
有多种方法可以实现数组去重。其中一种方法是利用ES6的Set数据结构。可以创建一个空的Set对象,遍历需要去重的数组,将每一个元素添加到Set中。由于Set中不会存在相同的元素,所以最终得到的结果就是去重后的数组。下面是一个示例代码:
```
function unique(arr) {
return Array.from(new Set(arr));
}
var arr = [1,2,3,4,5,3,4,6,8,1];
arr = unique(arr);
console.log(arr); //[1,2,3,4,5,6,8]
```
另一种方法是利用reduce函数。可以创建一个空的Map数据结构,遍历需要去重的数组,将数组的每一个元素作为key存储到Map中。由于Map中不会出现相同的key值,最终得到的就是去重后的结果。下面是一个示例代码:
```
function unique(arr) {
return arr.reduce((prev,cur) => prev.includes(cur) ? prev : [...prev,cur],[]);
}
var arr = [1,2,3,4,5,3,4,6,8,1];
arr = unique(arr);
console.log(arr); //[1,2,3,4,5,6,8]
```
以上是两种常用的数组去重方法,你可以根据自己的需求选择其中一种来使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [JavaScript数组去重(12种方法,史上最全)](https://blog.csdn.net/weixin_34378045/article/details/88737041)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
js往数组里面添加数据的时候去重。var arr=["ab","a","c","d"];
可以使用Set数据结构来去重,也可以使用循环遍历数组的方式来去重。下面是两种方法的示例代码:
```
// 使用Set数据结构来去重
var arr = ["ab", "a", "c", "d"];
var uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr);
// 使用循环遍历数组的方式来去重
var arr = ["ab", "a", "c", "d", "a", "c"];
var uniqueArr = [];
for (var i = 0; i < arr.length; i++) {
if (uniqueArr.indexOf(arr[i]) === -1) {
uniqueArr.push(arr[i]);
}
}
console.log(uniqueArr);
```
阅读全文