js往数组里面添加数据的时候去重。var arr=["ab","a","c","d"];
时间: 2023-11-09 14:07:36 浏览: 79
可以使用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);
```
相关问题
借助新数组 通过indexOf方判断当前元素在数组中的索引如果与循环的下标相等则添加到新数组中,将已知数组var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5,5,5]; 去重
好的,那我来具体讲解一下这种方法的实现步骤:
1. 定义一个新数组result用于存放去重后的元素;
2. 遍历原数组arr,判断该元素在原数组中第一次出现的下标是否等于循环的下标i,如果相等则将该元素添加到result中;
3. 遍历完整个数组后,返回去重后的数组result。
代码实现如下:
```
function unique(arr) {
let result = [];
for (let i = 0; i < arr.length; i++) {
if (arr.indexOf(arr[i]) === i) {
result.push(arr[i]);
}
}
return result;
}
let arr = [1, 23, 1, 1, 1, 3, 23, 5, 6, 7, 9, 9, 8, 5, 5, 5];
let result = unique(arr);
console.log(result); // [1, 23, 3, 5, 6, 7, 9, 8]
```
需要注意的是,这种方法的时间复杂度也比较高,为O(n^2),不适合处理大规模的数组。此外,使用indexOf()方法还有一个问题就是它无法去重NaN和{}等复杂数据类型。
数组去重 例如: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 ]
阅读全文