首页 > 其他分享 >JS中的Map形式(十一)

JS中的Map形式(十一)

时间:2022-11-10 20:32:24浏览次数:36  
标签:function 十一 userMap Map Get JS item key 101


东家蝴蝶西家飞,白骑少年今日归。 愿,所有迷茫的人,都不再迷茫的,愿,所有努力工作的人,都可以得到应有的回报,愿,所有的人,都可以找到回家的方向,愿,再无苦痛,再无离别。

上一章简单介绍了根据Select框的取值,动态显示另外的Div(十),如果没有看过,​​请观看上一章​​

一. JS中的Map形式

在js里面,有的时候,常常需要类似于Map的形式,进行键值对的处理,如写字典时,编号与名称进行对应, 编号与当前的对象进行对应。

二. JS代码

/**生成键值对集合*/
var initMap=function(){
var obj = {
Set : function(key,value){this[key] = value},
Get : function(key){return this[key]},
Contains : function(key){return this.Get(key) == null?false:true},
Remove : function(key){delete this[key]}
};
return obj;
}

有map 中常用的方法, Set 放置值, Get 获取值, Contains 是否包含key 值, Remove 根据key 来移除值。

三.initMap 的使用

三.一 初始化

var userMap=initMap();  //不需要new。

三.二 放置值

userMap.Set("101","张三");

三.三 获取值

var name=userMap.Get("101");  //张三

三.四 是否包含值

if(userMap.Contains("101")){
console.log("包含101的值");
}else{
console.log("不包含101的值");
}

三.五 设置对象值

initMap 中的value,不仅可以是普通的值,也可以是对象的值。

// userList 为json对象。
$.each(userList,function(idx,item){
userMap.Set(item.user_code,item);
})

将 编号 和那个编号所对应的对象放置到了map 里面。
获取值时可以这样:

if(userMap.Contains("101")){
console.log("名称是:"+userMap.Get("101").user_name);
}

三.六 放置对象数组

不仅可以放置单个对象,也可以放置对象数组,如员工和部门时,一个员工可以有多个部门的情况。

//重置一下
userMap=initMap();
$.each(deptList,function(idx,item){
if(userMap.Contains(item.user_code){
userMap.Get(item.user_code).push(item);
})else{
var arr=new Array();
arr.push(item);
userMap.Set(item.user_code,arr);
}

})

当取出值时,取出来的是数组,按照数组进行解析数据。

谢谢!!!


标签:function,十一,userMap,Map,Get,JS,item,key,101
From: https://blog.51cto.com/u_13420484/5842020

相关文章

  • 说说关于Android使用Gson解析Json所需实体类的那些事~
    LZ-Says:技术,真的是日积月累,厚积薄发~前言目前解析json的方法有很多种,LZ个人认为使用Gson还是一种很不错的选择,因为使用Gson时,我们只需要考虑将json中参数和实体类属性一一对......
  • P4407 [JSOI2009] 电子字典 题解
    题目:P4407这题差不多就是P1688的改版。参考一下我在P1688的做法,我们继续使用Hash,然后只要考虑如何去重就好了。于是就有了这个暴力的想法:#代表修改,@代表添加,$代......
  • vue.js3:分割图片为四宫格九宫格等形式([email protected])
    一,js代码:<template><div><divstyle="width:800px;margin:auto;display:flex;flex-direction:column;"><div>请选择上传图片:<inputtype="file"id......
  • macOS brew uninstall node.js All In One
    macOSbrewuninstallnode.jsAllInOneerror$whichnode/usr/local/bin/[email protected](mostrecentcalllast): 11:f......
  • 本地文件读写 js
    <!DOCTYPEhtml><html>  <head>    <metacharset="utf-8">    <title>本地文件读写</title>  </head>  <scripttype="text/javascri......
  • java中常见的JSON格式转换方法
    来源:https://blog.csdn.net/qq_42688149/article/details/1222755401JsonLib示例packagecom.jsonDemo;importnet.sf.json.JSONObject;importjava.util.HashMap;......
  • 2022-11-10 js 删除字符串某个值
    共4种方案:letstr='123';1、replace('1','一');//结果:一23 解释:把指定字符串替换成你想要的字符串,如果替换值为空字符串,则可以实现删除效果符串;不会改变原始字符串......
  • Json常用注解
    Json常用注解@Data@JsonIgnoreProperties(value={"sex","phone"})publicclassUser{privateStringid;privateStringname;privateStringsex;......
  • box和json
    intcount=bVal["BOX"].size();if(bVal["BOX"].isArray()){board->m_box=CBox(bVal["BOX"][0].asFloat(),bVal["BOX"][1].asFloat(......
  • cesium 加载geoJson格式的图斑
    Cesium加载geoJson格式的图斑方法://首次进来判断是否存在图斑if(this.geoSource){this.Global.viewer.dataSources.remove(this.Global.viewer.dataSources.get......