js去重的几种方式(教你js去重的4种实用方法)
在我们前端开发工作中,经常要用JavaScript的对数据进行去重处理;js去重的方法有很多中;今天就教你js去重的4种实用方法,先排序后去重、indexOf去重、双重for循环去重和Set去重方法。
方法1:先排序后去重
1)对数组进行双重循环;如果外循环的值大于内循环的值;就利用第三方变量对其交换值 ;这儿也可以用 sort
a.sort((a,b)=>{return a-b}); // 排序
2)当排序完成以后;再次循环进行比较相邻的两个值
var a =[1,2,3,4,5,2,3,5,5,5,5] function info(a){ var arr = [] for(var i=0;i<a.length;i++){ for(var j=0;j<a.length-1;j++){ if(a[i]>a[j]){ var list = a[i] a[i] = a[j] a[j] = list } } } for(var e=0;e<a.length;e++){ if(a[e] != a[e+1]){ arr.push(a[e]) } } return arr } let list = info(a) console.log(list); // 输出结果 [1, 2, 3, 4, 5]
方法2:indexOf去重
此去重主要是利用 indexOf 去查找是否有相同的值;如果没有就返回-1
var a =[1,2,3,4,5,2,3,5,5,5,5] function info(arr){ let a = [] for(var i in arr){ if(a.indexOf(arr[i])==-1){ a.push(arr[i]) } } return a } let list = info(a) console.log(list); // 输出结果 [1, 2, 3, 4, 5]
方法3:双重for循环去重
z这儿需要注意一点的就是内循环的时候不要 a.length-1;否则的话就会出现[1, 2, 3, 4, 5, 5]这个结果
var a =[1,2,3,4,5,2,3,5,5,5,5] for(let i=0;i<a.length;i++){ for(let j=i+1;j<a.length;j++){ if(a[i]===a[j]){ a.splice(j,1); j--; } } } console.log(a); // 输出结果 [1, 2, 3, 4, 5]
方法4:Set去重
set去重应该说是简单的去重方式了
var a = [1,2,3,4,5,2,3,5,5,5,5] let list = [...new Set(a)] console.log(list); // 输出结果 [1, 2, 3, 4, 5]
除注明外的文章,均为来源:老汤博客,转载请保留本文地址!
原文地址:https://tangjiusheng.cn/js/311.html
原文地址:https://tangjiusheng.cn/js/311.html