Skip to content

If-Else小工具

useIf

  • 描述: 合并多个if
  • 返回值: 一个数组,结果索引与参数的规则条目一一对应, true的条目返回内部函数执行结果,false的条目返回null
ts
import {  } from '@vincent-the-gamer/utils'

const  = ([
  [2 > 1, () => 'yeah, 2 > 1'], // 函数会被调用,结果为函数的返回值
  [2 === 1, () => 'yeah, 2 === 1'], // 函数不会被调用,结果直接给null
])

// result 值为 ["yeah, 2 > 1", null]

useIfElse

  • 描述: 创建一个if-else链
  • 返回值: 返回true的条目的函数返回值,如果没有一个是true, 则取fallback的函数返回值
ts
import { ,  } from '@vincent-the-gamer/utils'

const  = ([
  [2 < 1, () => 'aaa'], // 不满足条件,继续
  // @ts-expect-error
  [2 === 1, () => 'bbb'], // 不满足条件,继续
  [2 > 1, () => 'ccc'], // 满足条件,调用函数
  [, () => 'not reached'] // 没有匹配任何条件,调用兜底的函数
])

// result 值为 "ccc"

文档由 Vincent-the-gamer 提供 | 使用 MIT 许可证开源