js map对象处理if
onButtonClick只有一个参数时候,map和object对象都可以
// onButtonClick1(3) onButtonClick只有一个参数时候,map和object对象都可以
const map1 = new Map()
.set(1, { message: 'processing', page: 'indexPage' })
.set(2, { message: 'fail', page: 'failPage' })
.set(3, { message: 'success', page: 'successPage' })
.set(4, { message: 'cancel', page: 'cancelPage' })
.set('default', { message: 'other', page: 'otherPage' })
const onButtonClick2 = status => { if (map1.has(status)) {
let { message, page } = map1.get(status)
sendLog(message)
jumpTo(page)
}
} const sendLog = message => {
console.log(message);
}
const jumpTo = page => {
console.log(page);
}
增加onButtonClick参数 ,这个时候map是最好的选择
// 增加onButtonClick参数 ,这个时候map是最好的选择
const map3 = new Map()
.set({ identity: 'guest', status: 1 }, { message: 'processing', page: 'indexPage' })
.set({ identity: 'guest', status: 2 }, { message: 'fail', page: 'failPage' })
.set({ identity: 'guest', status: 3 }, { message: 'success', page: 'successPage' })
.set({ identity: 'guest', status: 4 }, { message: 'cancel', page: 'cancelPage' })
.set({ identity: 'guest', status: 5 }, { message: 'other', page: 'otherPage' })
.set({ identity: 'master', status: 1 }, { message: 'processing', page: 'indexPage' })
.set({ identity: 'master', status: 2 }, { message: 'fail', page: 'failPage' })
.set({ identity: 'master', status: 3 }, { message: 'success', page: 'successPage' })
.set({ identity: 'master', status: 4 }, { message: 'cancel', page: 'cancelPage' })
.set({ identity: 'master', status: 5 }, { message: 'other', page: 'otherPage' })
const onButtonClick4 = (identity, status) => {
const mapItem = [...map3].find(([key, value]) => {
return key.identity === identity && key.status === status
})
if (!mapItem) return
const [key, { message, page }] = mapItem
sendLog(message)
jumpTo(page) }
onButtonClick4('master', 3)
js map对象处理if的更多相关文章
- JS Map对象
java和C#等高级语言中都有map这样的键值对,但是js里没有,我们需要这样的,该怎么做呢? 可以自己使用function封装一个map对象,如下所示 function Map() { this.k ...
- js Map对象的用法
第一篇: Map: Map是一组键值对的结构,具有极快的查找速度. 举个例子,假设要根据同学的名字查找对应的成绩,如果用Array实现,需要两个Array: var names = ['Michael ...
- js模拟Map对象,实现key---value
js模拟Map对象,实现key---value 根据java中map的属性,实现key----value保存 function Map() { var struct = function (key, ...
- Js中Map对象的使用
Js中Map对象的使用 1.定义 键/值对的集合. 2.语法 mapObj = new Map() 3.备注 集合中的键和值可以是任何类型.如果使用现有密钥向集合添加值,则新值会替换旧值. 4.属性 ...
- 转:el表达式获取map对象的内容 & js中使用el表达式 & js 中使用jstl 实现 session.removeattribute
原文链接: ①EL表达式取Map,List值的总结 ②在jsp中使用el表达式通过键获得后台的一个map<Long,String>的值 ③在javascript中使用el表达式(有图有真相 ...
- JS中的Map对象
1,js创建map对象 var map = new Map(); 2.将键值对放入map对象 map.set("key",value) map.set("key1&quo ...
- 在js中将map对象转换成json 和 js对cookie的操作
在js中将map对象转换成json //msp转objectlet obj= Object.create(null); for (let[k,v] of map) { obj[k] = v; }//o ...
- js 操作map对象
转自:http://smallvq123.javaeye.com/blog/823923 /* * Map对象,实现Map功能 * * * size() 获取Map元素个数 * isEmpty() 判 ...
- 详细了解JS Map,它和传统对象有什么区别?
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者.原文出处:https://www.codeproject.com/Articles/5278387/Under ...
随机推荐
- Vue视图渲染原理解析,从构建VNode到生成真实节点树
前言 在 Vue 核心中除了响应式原理外,视图渲染也是重中之重.我们都知道每次更新数据,都会走视图渲染的逻辑,而这当中牵扯的逻辑也是十分繁琐. 本文主要解析的是初始化视图渲染流程,你将会了解到从挂载组 ...
- Properties类的使用 序列化与反序列化
Properties 类表示了一个持久的属性集.Properties 可保存在流中或从流中加载.属性列表中每个键及其对应值都是一个字符串. 特点: 1.Hashtable的子类,map集合中的方法都可 ...
- CSS动画基础知识
CSS动画就是通过CSS (Cascading Style Sheet,层叠样式表)代码搭建的网页动画.它允许设计师和开发人员通过编辑网站的CSS代码来添加页面动画,从而轻松取代传统动画图片或flas ...
- 对‘example_app_new’未定义的引用
将头文件添加到add-executable()中 cmake_minimum_required(VERSION 3.12) project(SGTK3application2 C) set(CMAKE ...
- 设计模式:桥接模式及代码示例、桥接模式在jdbc中的体现、注意事项
0.背景 加入一个手机分为多种款式,不同款式分为不同品牌.这些详细分类下分别进行操作. 如果传统做法,需要将手机,分为不同的子类,再继续分,基本属于一个庞大的多叉树,然后每个叶子节点进行相同名称.但是 ...
- 拼接html不显示layui进度条解决方法
最新有个新需求,要异步拼接html并渲染数据,并且我这边是用layui的flow.load(流加载)渲染多个进度条.按官网给出的 element.progress('demo', n+'%'); 就是 ...
- 群晖系统设置链路聚合并配置静态IP的教程【江东网 JDX86.COM】
1.进入控制面板 > 网络 > 网络接口.请单击创建 > 创建 Bond 2.进入聚合配置向导,选择你想要的模式,这里有几种模式意思分别为: 自适应负载平衡: 此模式优化了 Syno ...
- 实战开发,使用 Spring Session 与 Spring security 完成网站登录改造!!
上次小黑在文章中介绍了四种分布式一致性 Session 的实现方式,在这四种中最常用的就是后端集中存储方案,这样即使 web 应用重启或者扩容,Session 都没有丢失的风险. 今天我们就使用这种方 ...
- pytest封神之路第一步 tep介绍
『 tep is a testing tool to help you write pytest more easily. Try Easy Pytest! 』 tep前身 tep的前身是接口自动化测 ...
- 创建SpringMVC项目
学习SpringMVC框架第一步,先创建一个简单项目,了解流程.使用的是Eclipse+Tomcat9.0 创建项目springmvc 新建Dynamic Web Project File->N ...