You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Swift中按指定Bool数组更新元组数组的布尔值?

实现方案

核心需求为将元组数组每个元素的第二个Bool值,替换为Bool数组对应下标的取值,根据使用场景有两种最优实现:

  • 偏好简洁函数式写法,可接受生成新数组
    采用zip+map组合实现,代码简洁易读:
    var tupleArray = [("first", true), ("second", false ), ("third", true)]
    var boolArray = [true, false, false]
    
    // 直接替换原数组即可得到目标结果
    tupleArray = zip(tupleArray, boolArray).map { ($0.0, $1) }
    
  • 数组规模较大,希望原地修改节省内存开销
    直接遍历下标更新,避免额外开辟整段新数组内存:
    // 先取最小长度避免索引越界
    let minLength = min(tupleArray.count, boolArray.count)
    for index in 0..<minLength {
        tupleArray[index].1 = boolArray[index]
    }
    

注意:两种方案默认仅处理两个数组长度重叠的部分,超出最短长度的元素不会被修改。如果业务要求两个数组长度必须一致,可在处理前添加校验逻辑:

precondition(tupleArray.count == boolArray.count, "元组数组与Bool数组长度必须匹配")

内容的提问来源于stack exchange,提问作者Rahul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 15:24:01