我是靠谱客的博主 忧心大神,最近开发中收集的这篇文章主要介绍Js数组去重复(1)递归,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

开发工具与关键技术:VS2015、Css
作者:曾浩源
撰写时间:2019.2.17

JS数组去重复

比较简单,因为方法有很多,例如:
一、双层循环,外层循环元素,内层循环时比较值,如果有相同的值则跳过,不相同则push进数组。
二、双层循环,外层循环元素,内层循环时比较值,值相同时,则删去这个值。注意点:删除元素之后,需要将数组的长度也减1。

以上两种方法虽然简单易懂,但占用内存高,速度慢
所以就介绍个比较实用的去重复的方法

数组递归去重
先对数组进行从小到大的排序,然后从最后开始比较,遇到相同,则删除
var arr = [1, 2, 3, 4, 5, 6, 5, 3, 2, 4, 56, 4, 1, 2, 1, 1, 1, 1, 1, 1, 56, 45, 56];
var b = distinct(arr);
function distinct(arr) {
len = arr.length;
//len=23;
arr.sort(function (a, b) {
//对数组(由小到大)进行排序才能方便比较
return a - b;
})
//排序后aa=[1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 4, 4, 4, 5, 5, 6, 45, 56, 56, 56 ];
loop(len - 1);
//例如:23-1
function loop(index) {
if (index >= 1) {
if (arr[index] === arr[index - 1]) { //例如:arr[22] === arr[22-1]
arr.splice(index, 1);
}
loop(index - 1); //递归loop函数进行去重
}
}
return arr;
};
console.log(b.toString());
//1,2,3,4,5,6,45,56

最后

以上就是忧心大神为你收集整理的Js数组去重复(1)递归的全部内容,希望文章能够帮你解决Js数组去重复(1)递归所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(32)

评论列表共有 0 条评论

立即
投稿
返回
顶部