Как добавить новый элемент в многомерный массив?
struct Cat: Codable { var childrens: [Cat]? var name: String? var colour: String? }
Это мой текущий массив
var currentShop = [
[
"children": [
[
"children": [],
"name": "Tom",
"colour": "Brown"
],
[
"children": [],
"name": "Anggie",
"colour": "White"
],
[
"children": [
[
"children": [],
"name": "Lily",
"colour": "White"
]
],
"name": "Snowy",
"colour": "White"
],
],
"name": "Sandy",
"colour": "Brown"
],
[
"children": [],
"name": "Mike",
"colour": "Black"
],
[
"children": [],
"name": "Tommy",
"colour": "White"
],
"name": "Blackie",
"colour": "Black"
]
Новый массив
var newChildren = [
[
"children": [],
"name": "Pus",
"colour": "White"
],
[
"children": [],
"name": "Boots",
"colour": "White"
]
]
Добавление новых детей для Cat name под Snowy. Как я могу обновить кошек в массиве currentShop?
Мой текущий код для поиска родителя
func updateCatShop(parentName:String, Cats: [Cat], newCats:[Cat] ) -> [Cat] {
var catList = Cats for var cat in Cats {
if(cat.name == parentName) {
var updateCats = cat.childrens! + newCats cat.childrens = updateCats
} else {
for (_, childCat) in cat.childrens!.enumerated(){
updateCatShop(parentName: parentName, Cats: [childCat], newCats: newCats)
}
}
}
return catList
}
var currentShop = updateCatShop(parentName:"Snowy", Cats:currentShop, newCats: newChildren)
Каков наилучший способ обновления объекта с несколькими измерениями?