数组排序|javascript数组去重/查找/插入/删除

数组去重 原型方法

//---------------first--------------- Array.prototype.distinct = function(){ var arr=[]; var obj={}; //对象承接 for(var i=0,len=this.length; i

普通方法
function removeRepeat(arr){ var array=[]; var obj={}; for(var i=0,len=arr.length; i

数组查找 顺序查找
function SequenceSearch(arr, value){ var i; for(i=0; i

二分查找
【数组排序|javascript数组去重/查找/插入/删除】二分查找元素必须是有序的,如果是无序的则要先进行排序操作
-------------折半查找-------------- function BinarySearch1(arr, value){ var low, high, mid; low = 0; high = arr.length-1; while(low<=high){ mid = Math.floor((low+high)/2); if(a[mid]==value){ return mid; } if(a[mid]>value){ high = mid-1; } if(a[mid]value){ return BinarySearch2(arr, value); } if(a[mid]

数组插入 顺序插入
//----------------first---------------- function Insert(arr, n, data){ //若插入数据位置不在表尾 if (n < arr.length){ //将要插入位置之后元素依次向后移动一位 for (var i = seqList.ListLen - 1; i >= n; i--) { seqList.ListData[i + 1] = seqList.ListData[i]; } } //将数据插入到位置为n的位置并将数组的长度加1 seqList.ListData[n-1] = data; seqList.ListLen++; return true; }//----------------second---------------- functionaa(arr, val) { for (var i = 0; i-1) { arr.splice(index, 1); } }; var emp = ['abs','dsf','sdf','fd'] bb(emp, 'fd');

数组删除
function Delete(arr, n){ //判断数组是否为空 if (seqList.ListLen == 0) return false; //判断n的位置是否合法 if (n < 1 || n > seqList.ListLen) return false; //如果删除不是最后位置 if (n < seqList.ListLen) { //将删除位置后继元素依次前移 for (int i = n; i < seqList.ListLen; i++) { seqList.ListData[i-1] = seqList.ListData[i]; } } //表长减1 seqList.ListLen--; return true; }

    推荐阅读