数组去重
原型方法
//---------------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;
}
推荐阅读
- 操作系统|[译]从内部了解现代浏览器(1)
- web网页模板|如此优秀的JS轮播图,写完老师都沉默了
- JavaScript|vue 基于axios封装request接口请求——request.js文件
- vue.js|vue中使用axios封装成request使用
- JavaScript|JavaScript: BOM对象 和 DOM 对象的增删改查
- JavaScript|JavaScript — 初识数组、数组字面量和方法、forEach、数组的遍历
- JavaScript|JavaScript — call()和apply()、Date对象、Math、包装类、字符串的方法
- JavaScript|JavaScript之DOM增删改查(重点)
- javascript|vue使用js-xlsx导出excel,可修改格子样式,例如背景颜色、字体大小、列宽等
- javascript|javascript中的数据类型转换