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

Swift中使用for-in循环创建字典仅返回最后一个值如何解决

问题原因

你当前的写法是创建了单个字典,循环中反复对同一个键paramp_id赋值,新值会直接覆盖旧值,最终自然只会保留最后一次赋值的结果6。

解决方法

你需要声明一个用来存储字典的数组,每次循环生成一个新的字典存入数组即可,代码示例如下:

let items = [10, 9, 8, 7, 6]

// 声明存储字典的数组
var resultArray: [[String: Any]] = []
for item in items {
    // 每次循环生成独立的新字典
    let paramp = ["paramp_id": item]
    resultArray.append(paramp)
}

// 输出验证
for dict in resultArray {
    print(dict)
}

运行后输出结果就和你预期的一致:

["paramp_id" : 10]
["paramp_id" : 9]
["paramp_id" : 8]
["paramp_id" : 7]
["paramp_id" : 6]

如果你追求更简洁的Swift风格写法,可以直接用map高阶函数实现,效果完全相同:

let items = [10, 9, 8, 7, 6]
let resultArray = items.map { ["paramp_id": $0] }

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 04:57:00