用JavaScript实现数据去重(文末附全网最全链接)

用JavaScript实现数据去重

前言

经过了本周在逆战班的学习,我对JavaScript有了进一步的认识,数组的引入使得JavaScript与HTML有了一定的结合。通过循环读取数组并写入HTML,我们可以按照自己的需求构建自己期望的表格。但在某些时候,由于一些人为或非人为的原因使得数组中出现了重复数据,这将不利于我们其他工作的展开。如何有效地去除数组中的重复数据,我对自己所学的两种办法进行了归纳。

利用indexOf去重

​ 利用indexOf去重的原理可以简单地理解为:将老数组中的内容向新数组中拷贝,在拷贝每一个数据前先判断该数据是否存在于新数组中,若不存在则执行拷贝。在拷贝结束后,再将新数组赋值给老数组,即完成了引用数据类型的地址的拷贝,最终实现了数组去重。
利用indexOf去重的JS代码如下:

var arr = [1,1,1,2,2,3,4,5,6];
var arr2 = [];
arr.forEach(function(val,i,arr){
  console.log(arr[i]);
  if(arr2.indexOf(arr[i]) == '-1'){
    arr2.push(arr[i]);
  }
})
arr = arr2;
console.log(arr);		//打印结果是 [1, 2, 3, 4, 5, 6]

利用splice去重

​ 利用splice去重的做法可以大致理解为:将数组中的每一个数据与之后的数据进行对比,如果在它之后的数据中存在相同数据,则删除那个重复的数据。JS代码如下:

var arr = [1,1,1,2,2,3,4,5,6],length = arr.length;
for(var i=0; i<length; i++){
  for(var j=i+1; j<length; j++){
    if(arr[i]==arr[j]){ 
      arr.splice(j,1);
      j--;
    }
  }
}
console.log(arr);	//打印结果是 [1, 2, 3, 4, 5, 6]

结语

​ 除了这两种去重的方法外,网友还给出了其他的去重方法,但由于我对于JS的学习程度较浅,尚不理解,在此将链接分享给大家,并为我以后的学习提供储备,待学习了更多内容之后再来细心钻研。

​ 分享链接: JavaScript的12种去重方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值