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

如何交换Swift Dictionary中的元素?含具体示例场景

Swift字典交换指定元素位置的实现方法

嘿,这个问题得先明确一个前提:从Swift 5.1开始,字典才会保留插入顺序,所以咱们才能实现「交换第一个和第三个元素位置」的需求——要是用的是更早的Swift版本,字典本身是无序的,谈元素位置就没意义啦。

下面直接上可行的实现步骤和代码:

因为字典本身不太方便直接操作位置,咱们可以先把它转成键值对数组(数组是有序的,操作起来就灵活多了),交换指定索引的元素后,再转回字典就行。

完整代码示例:

// 注意要把test声明为var,因为需要修改它
var test = ["first":1,"second":2,"third":3]

// 1. 将字典转换成键值对数组,此时数组顺序和字典的插入顺序一致
var keyValuePairs = Array(test)
// 2. 交换数组中索引0(第一个元素)和索引2(第三个元素)的位置
keyValuePairs.swapAt(0, 2)
// 3. 把交换后的数组转回字典,Swift 5.1+会保留数组的顺序作为字典的插入顺序
test = Dictionary(uniqueKeysWithValues: keyValuePairs)

print(test) // 输出结果就是 ["third": 3, "second": 2, "first": 1]

额外提醒一下:如果你的项目还在使用Swift 5.1之前的版本,那字典是没有顺序保证的,就算做了上面的操作,输出的字典顺序也可能不是你想要的,这种情况就得考虑改用数组来存储键值对啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 06:24:57