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)

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 永恒之蓝(MS17010)漏洞kali使用MSF进行漏洞复现

    永恒之蓝(MS17010)漏洞kali使用MSF进行漏洞复现永恒之蓝是指2017年4月14日晚,黑客团体ShadowBrokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,“永恒之蓝”利用Windows系统的SMB漏洞可以获取系统最高权限。恶意代码会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序今天就来利用KALI进行漏洞的复现实验准备:1.win7靶机(未打补丁):192.168.1.1412.kali攻击机:192

  • 详解P2P技术

    详解P2P技术P2P=PeertoPeer现在P2P也有很多不同架构,以下是常见的一些P2P架构纯P2P架构没有总是在线的服务器任意端系统之间直接通信对等方之间可以间断连接并可以改变IP地址例子:文件分发流媒体VoIP复杂应用纯P2P无法实现P2P:集中式目录Napster公司首先设计,由中央集中服务器管理当对等方启动时,它通知目录服务器以下信息IP地址可供共享的对象名称Alice查询文件“HeyJude”3)Al.

  • quick-cocos2d-x游戏开发【5】——创建菜单

    quick-cocos2d-x游戏开发【5】——创建菜单

  • acwing-最长上升公共子序列(动态规划)[通俗易懂]

    acwing-最长上升公共子序列(动态规划)[通俗易懂]原题连接熊大妈的奶牛在小沐沐的熏陶下开始研究信息题目。小沐沐先让奶牛研究了最长上升子序列,再让他们研究了最长公共子序列,现在又让他们研究最长公共上升子序列了。小沐沐说,对于两个数列 A 和 B,如果它们都包含一段位置不一定连续的数,且数值是严格递增的,那么称这一段数是两个数列的公共上升子序列,而所有的公共上升子序列中最长的就是最长公共上升子序列了。奶牛半懂不懂,小沐沐要你来告诉奶牛什么是最长公共上升子序列。不过,只要告诉奶牛它的长度就可以了。数列 A 和 B 的长度均不超过 3000。输入格式

  • padStart()微信浏览器不支持

    padStart()微信浏览器不支持记录下今天写微信小程序遇见的问题。在处理后台返回的时间戳时使用了padStart()方法,在手机上中预览都没有问题,便提交了代码,直到在pc端打开小程序时,页面没有数据,随后了解到微信内置内核不支持padStart()方法,所以处理不了数据,才会报错。再转换时间戳可以用uptime2(num){letdate=newDate(num); letdatetime=date.getFullYear() +”-” +((date.getMonth()+1)>

  • thinkphp3.2如何自动生成后台模块并且怎么访问

    thinkphp3.2如何自动生成后台模块并且怎么访问

    2021年10月21日

发表回复

您的电子邮箱地址不会被公开。

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