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

Swift中如何向已有数组内添加JSON数组?

在Swift中向现有数组插入新JSON数组的方法

嗨,这事儿处理起来很简单,我给你捋清楚两种常见的实现方式,看你需求选就行:

1. 可变数组(用var声明)直接插入

如果你的现有数组是用var定义的可变数组,直接用Swift数组自带的insert(_:at:)方法就搞定了——把新数组作为单个元素插入到指定索引位置就行,因为你的现有数组本身就是二维数组(每个元素都是数组)。

举个例子,对应你给出的场景:

// 定义现有数组和新数组
var existingArray = [ ["a","b"],["c","e","f"],["d"],["z","x"] ]
let newArray = ["s","g"]

// 假设要插入到索引2的位置(也就是原数组中["d"]的前面)
existingArray.insert(newArray, at: 2)

// 执行后existingArray就变成:
// [ ["a","b"],["c","e","f"],["s","g"],["d"],["z","x"] ]

注意:插入的索引不能越界哦!索引范围得是0到existingArray.count之间(包括count,插入到末尾),如果不确定索引是否合法,可以加个判断:

let targetIndex = 2
if targetIndex >= 0 && targetIndex <= existingArray.count {
    existingArray.insert(newArray, at: targetIndex)
} else {
    print("⚠️ 索引超出数组范围啦,请检查!")
}

2. 不可变数组(用let声明)创建新数组

如果你的现有数组是用let定义的不可变数组,那我们需要通过数组切片拼接的方式生成一个新数组:

// 不可变的现有数组
let existingArray = [ ["a","b"],["c","e","f"],["d"],["z","x"] ]
let newArray = ["s","g"]
let targetIndex = 2

// 拼接生成新数组
let updatedArray = existingArray[..<targetIndex] + [newArray] + existingArray[targetIndex...]

这样updatedArray就是插入新数组后的结果,原有的existingArray不会被修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:35:31