//---------------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 中国語 Web サイトの他の関連記事を参照してください。