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

Swift中如何通过for循环按递增索引向数组插入元素?

解决数组循环插入指定位置的问题

嗨,这问题其实很好搞定!咱们先理清楚核心逻辑:你想要每次插入的索引从0开始,每插一次就递增1——换句话说,第1次插入到索引0,第2次插入到索引1,第3次到索引2,以此类推。这样就能让新插入的元素依次排在原数组的前面,完全符合你给出的示例效果。

具体实现代码

直接上代码示例,一看就明白:

// 初始化原数组
var originalArray = ["a", "b", "c", "d"]
// 准备要插入的新元素集合
let elementsToInsert = ["e", "f", "g"]

// 遍历要插入的元素,同时拿到当前循环的索引
for (insertPos, element) in elementsToInsert.enumerated() {
    originalArray.insert(element, at: insertPos)
}

print(originalArray)
// 输出结果:["e", "f", "g", "a", "b", "c", "d"]

为什么这样可行?

咱们拆解每一步的变化,就懂其中的门道了:

  • 第一次循环(insertPos=0):把"e"插入到索引0,数组变成 ["e", "a", "b", "c", "d"]
  • 第二次循环(insertPos=1):把"f"插入到索引1,数组变成 ["e", "f", "a", "b", "c", "d"]
  • 第三次循环(insertPos=2):把"g"插入到索引2,数组变成 ["e", "f", "g", "a", "b", "c", "d"]

因为每次循环的insertPos刚好对应我们需要的插入位置——新元素插入后,原数组元素会被往后挤,而我们每次都在已插入元素的末尾、原数组的开头插入新元素,用循环自带的索引作为插入位置就刚刚好。

如果是逐个单独插入元素(不是批量处理),也可以用计数器手动控制索引:

var originalArray = ["a", "b", "c", "d"]
var currentInsertPos = 0

// 插入第一个元素
originalArray.insert("e", at: currentInsertPos)
currentInsertPos += 1 // 索引递增到1

// 插入第二个元素
originalArray.insert("f", at: currentInsertPos)
currentInsertPos += 1 // 索引递增到2

// 后续插入操作以此类推...

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:35:23