Skip to content

until

重复执行函数直到满足条件。

函数签名

typescript
function until<T>(
  predicate: (value: T) => boolean,
  fn: (value: T) => T,
  initialValue: T
): T

参数

参数名类型必填说明
predicate(value: T) => boolean终止条件函数
fn(value: T) => T每次迭代执行的函数
initialValueT初始值

返回值

类型说明
T满足条件时的最终值

工作原理

  1. initialValue 开始
  2. 循环执行:
    • 检查 predicate(value) 是否为 true
    • 如果是,返回当前值并停止
    • 如果否,执行 fn(value) 获取新值
    • 用新值继续下一轮循环
  3. 返回满足条件时的值

示例

typescript
const result = until(
  (n) => n >= 100,
  (n) => n * 2,
  1
)
// 执行过程: 1 → 2 → 4 → 8 → 16 → 32 → 64 → 128
// 返回: 128

类似 while 循环,但以函数式风格实现。