本文主要介绍js数组中去除重复值的几种方法。这篇文章中的解释非常详细,代码有助于大家更好的理解和学习。感兴趣的朋友可以了解一下。
在日常开发中,我们可能会遇到删除数组中重复值的情况,所以我就分享一下我学到的几种方法。
去除数组重复值方法:
1,利用indexOf()方法去除
想法:创建一个新阵列,然后循环要进行重复数据消除的阵列,然后使用新阵列来查找要进行重复数据消除的阵列的值。如果找不到,请使用。推将其添加到新数组中,最后返回新数组。
不懂也没关系,代码更容易理解。
函数fun(arr){
let news arr=[];
for(设I=0;长度;i ) {
if(new arr . index of(arr[I])===-1){
news arr . push(arr[I]);
}
}
返回newsArr
}
2,利用splice方法去除
思路:这个方法有点像冒泡两层循环,外层循环遍历数组,内层循环比较值。如果相同,使用splice删除它们,然后返回处理后的数组。
不懂也没关系,代码更容易理解。
函数fun(arr){
for(设I=0;长度;i ) {
for(设j=I ^ 1;j排列长度;j ){
if(arr[i]==arr[j]){
arr.splice(j,1);j-;
}
}
}
返回arr
}
3,利用es6新增的集合Set去除
下面简单介绍一下Set set。他熟悉数组,但不是数组,而是集合。他还有很多方法,比如添加(add)、删除(delete)、检查(has)等等。
它最重要的特点是元素不能重复,即相同的元素不会出现在集合Set中。
Set去重方案1:
想法:因为Set set中不允许有重复的值,我们可以使用这个特性传入我们的数组来复制它。
首先,将一个新的集合Set作为参数传递给要进行重复数据消除的数组,然后创建一个新数组,遍历该集合,将每个集合元素添加到新数组中,最后返回新数组。
函数fun(arr){
设s1=新集合(arr);
设arr 2=[];
对于(s1的字母项){
arr 2 . push(item);
}
返回arr2
}
Set去重方案2(使用数组方法Array.form()):
idea:array . from();我们可以把伪数组和集合转换成数组类型,这种方法结合集合集合正好满足我们的需求。
函数fun(arr){
设s1=新集合(arr);
返回array . from(S1);
}
Set去重方案3(使用es6展开运算符...):
想法:es6扩展操作符可以将数组转换成逗号分隔的参数序列。
函数fun(arr){
设s1=新集合(arr);
返回[.S1];
}
这就是js数组中删除重复值的几种方法的细节。关于移除js数组中重复值的更多信息,请关注我们的其他相关文章!