//---------------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 登录后复制
二分查找元素必须是有序的,如果是无序的则要先进行排序操作
-------------折半查找-------------- 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---------------- function aa(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; }
以上是javascript数组去重/查找/插入/删除的方法的详细内容。更多信息请关注PHP中文网其他相关文章!