最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

js数组去重方法汇总

来源:懂视网 责编:小采 时间:2020-11-27 20:13:00
文档

js数组去重方法汇总

js数组去重方法汇总:方法一:对数组进行先排序,排完序之后在让元素与前一个元素做对比,相同的就去掉,该方法用到的是sort()方法和slice()var arr = ['a', 'b', 'c', 'd', 'e', 'f', '
推荐度:
导读js数组去重方法汇总:方法一:对数组进行先排序,排完序之后在让元素与前一个元素做对比,相同的就去掉,该方法用到的是sort()方法和slice()var arr = ['a', 'b', 'c', 'd', 'e', 'f', '

方法一:

对数组进行先排序,排完序之后在让元素与前一个元素做对比,相同的就去掉,该方法用到的是sort()方法和slice()

var arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j'];//对数组先进行排序arr.sort(); for(var i = 0; i < arr.length; i++) { //用当前的元素与他的前一个元素进行对比
 if(arr[i] == arr[i - 1]) { //如果相同的话,就删除掉第i个元素
 arr.splice(i, 1);
 }
 }
 console.log(arr);

方法二:

遍历数组,定义一个新数组,利用indexOf判断是否存在于新数组中,不存在则push到新数组,最后返回新数组

var arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j'];function delArr(array){
 var newArr=[];//新建一个新数组
 //遍历参数数组array
 for(var i=0;i<array.length;i++){ //判断新数组是否有这个元素值,没有的话,就把arr[i]给push到新数组newArr中
 if(newArr.indexOf(array[i])===-1){
 newArr.push(arr[i]);
 }
 } return newArr;
 }
 console.log(delArr(arr));

方法三:

利用对象键值对法:新建一js对象以及新数组,遍历传入数组时,判断值是否为js对象的键,不是的话给对象新增该键并放入新数组。

注意点: 判断是否为js对象键时,会自动对传入的键执行“toString()”,不同的键可能会被误认为一样;例如: a[1]、a[“1”] 。解决上述问题还是得调用“indexOf”。

var arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j'];function delArr2(array){
 var json={},newArr=[],val,type;
 for(var i=0;i<array.length;i++){ 
 val=array[i]; //判断val是什么数据类型
 type=typeof val;
 console.log("判断类型"+[type]);
 //判断值是否为js对象的键,不是的话给对象新增该键并放入新数组
 if(!json[val]){
 json[val]=[type];
 newArr.push(val);
 } 
 else if(json[val].indexOf(type)<0){
 json[val].push(type);
 newArr.push(val);
 }
 } return newArr;
 }
 console.log(delArr2(arr));

文档

js数组去重方法汇总

js数组去重方法汇总:方法一:对数组进行先排序,排完序之后在让元素与前一个元素做对比,相同的就去掉,该方法用到的是sort()方法和slice()var arr = ['a', 'b', 'c', 'd', 'e', 'f', '
推荐度:
标签: 方法 js 总结
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top