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

Javascript
Prototype使用指南之form.js
Prototype1.5 rc2版指南最后一篇之Position
javascript 对象的定义方法
JS多级连动菜单
javascript编程起步(第一课)
javascript编程起步(第二课)
java script编程起步(第三课)
jquery简单体验
javascript编程起步(第四课)
javascript编程起步(第五课)
javascript编程起步(第六课)
javascript编程起步(第七课)
javascript object oriented 面向对象编程初步
js宝典学习笔记(上)
JS宝典学习笔记(下)
javascript基础的动画教程,直观易懂
javascript 的面向对象特性参考
JScript|Event]面向事件驱动的编程(二)--实例讲解:将span模拟成超连接
JScript面向事件驱动的编程
一份老外写的XMLHttpRequest代码多浏览器支持兼容性

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 270 ::
收藏到网摘: 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,.....)