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 ...
随机推荐
- 浅析Facebook LibraBFT与比原链Bystack BBFT共识
如果说什么是区块链的灵魂,那一定是共识机制. 它是区块链的根基.无论公链或是联盟链,共识机制都从基础上限制了区块链的交易处理能力和扩展性. 2019年6月18日,Facebook 发布了自己 Libr ...
- Mysql Column 'xxxxx' in field list is ambiguous"
使用了关联查询,两张表有相同的字段,所以说取值含糊不清: 使用别名.列名解决: 如 a.description
- C#LeetCode刷题之#622-设计循环队列(Design Circular Queue)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4126 访问. 设计你的循环队列实现. 循环队列是一种线性数据结构 ...
- geth建立私链以及发布第一个智能合约
原博客地址 https://blog.csdn.net/qq_36124194/article/details/83686740 geth建立私链 初始化genesis.json文件 geth --d ...
- java中三大集合框架
一.List集合 1.List实现的超级父类接口:Collection 存储一组不唯一(允许重复),有序的对象. 2.了解ArrayList类 A):定义的格式:ArrayList<具体类型&g ...
- SQLserver 查询某个表的字段及字段属性
SELECT C.name as [字段名],T.name as [字段类型] ,convert(bit,C.IsNullable) as [可否为空] ,convert(bit,case when ...
- 浏览器自动化的一些体会7 selenium webdriver的一些问题
1. 下载图片 这个链接说得最好,差不多所有可能的方法都列举了,除了没有提到用URLDownloadToFile,不过这和用WebClient差不多. https://stackoverflow.co ...
- Python默认参数的陷阱
一:内置函数 globals() locals() 1.返回的是字典,字典里面的键值对:全局作用域的全部内容 print(globals()) 2.返回的是字典,字典里面的键值对:当前作用域的全部内容 ...
- Kubernetes 中 Informer 的使用
原文链接:https://mp.weixin.qq.com/s?__biz=MzU4MjQ0MTU4Ng==&mid=2247485580&idx=1&sn=7392dbadf ...
- springboot2整合activiti7具体步骤
写在前面 需要提前了解的内容有 springboot.springSecurity.activiti基本使用 关于activiti Activiti项目是一项新的基于Apache许可的开源BPM平台, ...