资讯专栏INFORMATION COLUMN

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

incredible / 1980人阅读

摘要:数组去重原型方法对象承接得考虑如果删除一个元素的值需要减只适用于已经排序的数组,数组排序方法可参见另外一篇博

数组去重 原型方法
//---------------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;
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/89321.html

相关文章

  • JavaScript基础总结(三)——数组总结

    摘要:关于中的数组做出了如下总结数组是用来存储一组不同类型的数据的容器。可以使用构造函数的方法和字面量的方法来声明函数访问数组通过下标的方法来访问可以获得数组长度。 关于JavaScript中的数组做出了如下总结:1、数组是用来存储一组不同类型的数据的容器。可以使用构造函数的方法和字面量的方法来声明函数;访问数组通过下标的方法来访问;arr.length可以获得数组长度。2、数组栈方法包括:...

    enda 评论0 收藏0
  • 学习笔记: JS数组

    摘要:数组元素甚至可以是对象或其它数组。它执行的是浅拷贝,这意味着如果数组元素是对象,两个数组都指向相同的对象,对新数组中的对象修改,会在旧的数组的相同对象中反应出来。 JS中的数组是弱类型的,数组中可以含有不同类型的元素。数组元素甚至可以是对象或其它数组。JS引擎一般会优化数组,按索引访问数组常常比访问一般对象属性明显迅速。数组长度范围 from 0 to 4,294,967,295(2^...

    archieyang 评论0 收藏0
  • JavaScript 数组操作方法小结

    摘要:使用方法返回值返回一个新的数组,包含从到不包括该元素的中的元素接受一或两个参数,即要返回项的起始和结束位置。用于执行每个数组元素的函数。新增的方法使用方法返回值返回新的被替换的数组方法用于将一个固定值替换数组的元素。 ECMAScript为操作已经包含在数组中的项提供了很多方法。这里本人总结一下自己对这些方法的理解,如此之多的方法中,我首先已是否会改变原数组做为分类标准,逐个解释一下每...

    tinysun1234 评论0 收藏0
  • 数组方法的二三事

    摘要:常用的数组方法删除数组的最后一个元素,返回被删除的元素,原数组长度减。原数组发生了变化,但没有创建新的数组。将指定数组进行排序,返回排好序的数组。颠倒数组元素的顺序,返回逆序后的数组。 数组,对于每一个前端人员来说是非常常见且重要的数据结构之一,也是面试常常出现的题目,掌握数组的方法能帮助我们更高效地处理问题。不过在数组的学习中,我们常常会混淆数组本身的方法和Javascript提供的...

    VincentFF 评论0 收藏0
  • JavaScript专题系列文章

    摘要:专题系列共计篇,主要研究日常开发中一些功能点的实现,比如防抖节流去重类型判断拷贝最值扁平柯里递归乱序排序等,特点是研究专题之函数组合专题系列第十六篇,讲解函数组合,并且使用柯里化和函数组合实现模式需求我们需要写一个函数,输入,返回。 JavaScript 专题之从零实现 jQuery 的 extend JavaScritp 专题系列第七篇,讲解如何从零实现一个 jQuery 的 ext...

    Maxiye 评论0 收藏0

发表评论

0条评论

incredible

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<