当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 删除重复数据的算法

Javascript
JMenuTab简单使用说明
简单的JS多重继承示例
js另类写法
javascript cookie解码函数(兼容ff)
Javascript的一种模块模式
详解new function(){}和function(){}() 区别分析
YUI 读码日记之 YAHOO.lang.is*
用JS得到字符串中出现次数最多的字母
YUI 读码日记之 YAHOO.util.Dom - Part.1
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.2 0
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.3
javascript YUI 读码日记之 YAHOO.util.Dom - Part.4
利用js对象弹出一个层
js用图作提交按钮或超连接
通过 Dom 方法提高 innerHTML 性能
javascript 通用滑动门tab类
二行代码解决全部网页木马
JavaScript的面向对象方法以及差别
悟透JavaScript整理版
try finally 妙用,防止内存泄漏

Javascript 中的 删除重复数据的算法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 442 ::
收藏到网摘: n/a

在工作中碰到这么一个问题:给定一个已经排序的数组(升序),删除数组中重复的数据,但是只能使用一个数组,这个数组的大小可以变化.
例子: 数组:[1,1,2,2,3,3,4,5,7,10]
输出::[1,2,3,4,5,7,10]
实现(1):
var arr =new Array(1,1,2,2,3,3,4,5,7,10);
var len = arr.length;
for(var i=len-1;i>=1;i--)
{
if(arr[i-1] == arr[i])
{
arr.splice(i,1);
}
}
alert(arr);
实现(2):
var arr =new Array(1,1,2,2,3,3,4,5,7,10);var len = arr.length;var k=0;for(var i=1;i<len;i++){ if(arr[k] != arr[i]) { arr[k+1]=arr[i]; k++; } }alert(arr);
但是发现其性能并不是最好的,不知道您是否有更好的算法.(实现语言可以是JavaScript,C#,VB.net,.....)