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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Android触摸屏事件派发机制详解与源码分析二(ViewGroup篇)「建议收藏」

    Android触摸屏事件派发机制详解与源码分析二(ViewGroup篇)「建议收藏」PS一句:最终还是选择CSDN来整理发表这几年的知识点,该文章平行迁移到CSDN。因为CSDN也支持MarkDown语法了,牛逼啊!【工匠若水http://blog.csdn.net/yanbober】该篇承接上一篇《Android触摸屏事件派发机制详解与源码分析一(View篇)》,阅读本篇之前建议先阅读。当然,阅读完这一篇之后可以阅读继续进阶的下一篇《Android触摸屏事件派发机制详解与源码分

    2025年10月20日
    4
  • 众包兼职平台有哪些_美团众包兼职的心酸

    众包兼职平台有哪些_美团众包兼职的心酸众包平台,是世界著名科技杂志《连线》(Wired)2006年发明的一个专业术语,用来描述一种新的商业模式,即企业利用互联网来将工作分配出去、发现创意或解决技术问题。那么,众包平台有哪些?五大众包平台,

    2022年8月2日
    8
  • java旅游管理系统(带文档

    java旅游管理系统(带文档关注公众号,回复:java旅游管理系统,获取源码,百度云哦。不会安装,找公众号管理员

    2022年5月15日
    58
  • laravel在终端中查看日志的方法

    laravel在终端中查看日志的方法

    2021年10月23日
    37
  • mysql连接数据库命令_linux进入mysql的命令

    mysql连接数据库命令_linux进入mysql的命令一、MySQL连接本地数据库,用户名为“root”,密码“123”(注意:“-p”和“123”之间不能有空格)C:>mysql-hlocalhost-uroot-p123二、MySQL连接远程数据库(192.168.0.201),端口“3306”,用户名为“root”,密码“123”C:>mysql-h172.16.16.45-P3306-uroot-p123三、MySQL连接本地数据库,用户名为“root”,隐藏密码C:>mysql-hloc

    2025年11月25日
    3
  • 软件测试相关知识_软件测试期末考试知识点

    软件测试相关知识_软件测试期末考试知识点软件测试是软件生存周期中必不可少的环节,软件的典型生存周期可以用下图来形容:软件测试的目的是尽可能早的发现软件缺陷并确保其得以修复,因此软件测试是提高软件质量的重要手段,大量的经验实践证明,软件测试越早参与到软件开发过程中,开发出来的软件质量相对越高,时间和物力也越经济。根据软件工程的基本理论,多模块程序的测试共包括以下4个层次:…

    2022年9月1日
    7

发表回复

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

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