js有序数组合并_js array map

js有序数组合并_js array mapjavascript实现有序map

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

javascript实现有序map 示例 用法 代码根据网络代码改编 效率未知

只是根据数组方式记录顺序 需要其他功能自己改写吧 或者有更好办法可以告诉我

代码片.

function HashMap() { 
   
    //维护映射
    this.map = { 
   };
    //维护顺序
    this.arrayLink=[]
}
HashMap.prototype = { 
   
    put: function (key, value) { 
   // 向Map中增加元素(key, value)
        var numb=  this.arrayLink.indexOf(key)
        // console.log(numb)
        if ( numb==-1) { 
   
            this.arrayLink.push(key) ;
            numb=  this.arrayLink.indexOf(key)
        }
        // console.log(numb)
        // console.log(this.arrayLink)
        this.map[numb] = value;
    },
    get: function (key) { 
    //获取指定Key的元素值Value,失败返回Null
        var numb=  this.arrayLink.indexOf(key)
        if (this.map.hasOwnProperty(numb)) { 
   
            return this.map[numb];
        }else { 
   
            return null;
        }

    },
    remove: function (key) { 
    // 删除指定Key的元素,成功返回True,失败返回False
        var numb=  this.arrayLink.indexOf(key)
        this.arrayLink.splice(numb, 1, "-1")
        //喊头不含尾
        var arrayLinktt=this.arrayLink.slice(0, numb)
        var arrayLinktt1=this.arrayLink.slice(numb+1, this.arrayLink.length)
        this.arrayLink = [];
        this.arrayLink.concat(arrayLinktt)
        this.arrayLink.concat(arrayLinktt1)
        if (this.map.hasOwnProperty(numb)) { 
   
            return delete this.map[numb];
        }
        return false;
    },
    removeAll: function () { 
     //清空HashMap所有元素
        this.map = { 
   };
        this.arrayLink = [];
    },
    keySet: function () { 
    //获取Map中所有KEY的数组(Array)

        return this.arrayLink;
    }
};
HashMap.prototype.constructor = HashMap;
//使用
 var ttt=new HashMap()
  ttt.put(1,"3333")
  ttt.put(888,"232")
   //将生成html渲染进html
        var  asddddddd=ttt.keySet()
        for(var i in asddddddd) { 
   
            var  tmp= ttt.get(asddddddd[i]);
             console.log(tmp)

        }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190190.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据库常见面试题(附答案)

    数据库常见面试题(附答案)1.事务四大特性原子性,要么执行,要么不执行隔离性,所有操作全部执行完以前,其它会话不能看到过程一致性,事务前后,数据总额一致持久性,一旦事务提交,对数据的改变就是永久的2.数据库隔离级别,每个级别会引发什么问题,mysql默认是哪个级别脏读:事务B读取事务A还没有提交的数据不可重复读:两次事务读的数据不一致幻读:事务A修改了数据,事务B也修改了数据,这时在事务A看

    2022年5月2日
    77
  • idea ultimate2021.4激活码【在线破解激活】

    idea ultimate2021.4激活码【在线破解激活】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    71
  • 搞定Android开发环境部署——非常详细的Android开发环境搭建教程[通俗易懂]

    搞定Android开发环境部署——非常详细的Android开发环境搭建教程[通俗易懂]引言在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入Android浪潮的朋友们,为了确保大家能顺利完成开发环境的搭建,文章写的尽量详细,希望对准备进入Android开发的朋友有帮助。 Android开发环境搭建分为以下四步:第一步、安装JDK;第二步、安装Eclipse;第三步、下载并

    2022年7月23日
    14
  • 列存储、行存储

    列存储、行存储一、定义 1.1定义Sybase在2004年左右就推出了列存储的SybaseIQ数据库系统,主要用于在线分析、数据挖掘等查询密集型应用。列存储,缩写为DSM,相对于NSM(N-arystoragemodel),其主要区别在于:DSM将所有记录中相同字段的数据聚合存储;NSM将每条记录的所有字段的数据聚合存储;其实列存储并不是什么新概念,

    2022年7月14日
    19
  • 内核杂谈——关于platform device 创建

    内核杂谈——关于platform device 创建当拿到driver,不能用起来的时候需要去检查device了。虽说device和bus通常都是系统中带的,但也不要想当然的认为这个系统是帮你建好的。通常busdevicedriver三者中,bus基本不用干预,device干预的少,driver干预的多。从设备树中生成device从设备树中识别device的入口为arch_initcall_sync(of_platform_default_populate_init);staticint__initof_platform_defa

    2022年7月24日
    14
  • PowerPoint2007无法嵌入某些字体

    PowerPoint2007无法嵌入某些字体转载者 企业薪酬培训 ppt 课件 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 来源 www 2ppt cn 在 PowerPoint20 中创建一个演示文稿 此外 还执行下列操作之一 以带有嵌入字体的 PowerPoint97 2003 演示文稿 格式保存演示文稿 使用 打包成 CD 功能保存演示文稿 在另一台计算机上打开演示文稿时 原来的字体将会替换为其他字体 原因 出现此问题

    2026年1月20日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号