JS中的Map形式(十一)

简介: JS中的Map形式(十一)

一. 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);
  }
})


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


谢谢!!!

相关文章
|
3月前
|
存储 JavaScript 前端开发
js的map和set |21
js的map和set |21
|
3月前
|
JavaScript 前端开发
js map和reduce
js map和reduce
|
2月前
|
存储 JavaScript 前端开发
js中map属性
js中map属性
23 0
|
2月前
|
前端开发 JavaScript 索引
JavaScript 数组常用高阶函数总结,包括插入,删除,更新,反转,排序等,如map、splice等
JavaScript数组的常用高阶函数,包括遍历、插入、删除、更新、反转和排序等操作,如map、splice、push、pop、reverse等。
20 0
|
3月前
|
JavaScript 前端开发
JavaScript Array map() 方法
JavaScript Array map() 方法
|
3月前
|
JavaScript 前端开发
JavaScript 中 五种迭代数组的方法 every some map filter forEach
本文介绍了JavaScript中五种常用数组迭代方法:every、some、filter、map和forEach,并通过示例代码展示了它们的基本用法和区别。
|
4月前
|
JavaScript 前端开发 索引
JS中常用的数组迭代方法(filter,forEach,map,every,some,find,findIndex)
这段代码和说明介绍了JavaScript中数组的一些常用方法。函数接收三个参数:`item`(数组项的值)、`index`(项的位置,可选)和`array`(数组本身,可选)。示例展示了如何使用`filter()`过滤非空项、`forEach()`遍历数组、`map()`处理并返回新数组、`every()`检查所有元素是否满足条件、`some()`检查是否存在满足条件的元素、`find()`获取首个符合条件的元素值以及`findIndex()`获取其索引位置。这些方法都不会修改原数组。
JS中常用的数组迭代方法(filter,forEach,map,every,some,find,findIndex)
|
JavaScript 前端开发 Python
JavaScript中Set和Map的基本用法
JavaScript中Set和Map的基本用法
122 0
JavaScript中Set和Map的基本用法
|
26天前
|
JavaScript 前端开发
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
25 1
JavaScript中的原型 保姆级文章一文搞懂
|
5月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
103 2