数组排序并去掉重复数据问题

要求:自定义一个函数,对数组进行排序,要求排序后数组中无重复数据
思路:先将数组x排序
将数组x第一位数据提出赋值给变量value
将value值放入新的数组z中
用value与数组x后面的数据进行比较,有相等的就取出删掉
不相等就取出数组x第一位的值更新给value,并继续添加到数组e中
直到数组x值判断完,即数组长度为0。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
	var x=new Array(1,3,4,5,7,7,4,5,6,7,7);
	x.sort();//先将数组排序
	document.write("数字X是:"+x+"<br>");
	var e=new Array();
	var value=x.shift();//将x第一个数提取出来作为比较值,提取出来后数组长度减小,原来第一位数据没有了,后面补上
	e.push(value);//只要是不重复的数字都从最后一位放入e数组中
	while(x.length!=0){
		// 不应该使用for循环,太麻烦了,x数组第一位一直都在变,且数组长度一直在减小
		if(x[0]==value){
			x.shift();
		}else{
			value=x.shift();
			e.push(value);
		}
	}
	document.write("使用sort排序后无重复数据的数组X是"+e);
</script>
</head>
<body>
</body>
</html>

运行结果:
在这里插入图片描述


版权声明:本文为onlyoneLIJINGYI原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。