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)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM