gpt4 book ai didi

arrays - 遍历 Swift 数组并更改值

转载 作者:行者123 更新时间:2023-12-04 12:18:25 24 4
gpt4 key购买 nike

我需要更改 Swift 数组的值。
我的第一次尝试只是迭代,但这不起作用,因为我只获得每个元素的副本,并且更改不会影响原始数组。
目标是在每个数组元素中都有一个唯一的“索引”。

myArray = [["index": 0], ["index":0], ["index":0], ["index":0]]

counter = 0
for item in myArray {
item["index"] = counter
counter += 1
}

我的下一次尝试是使用 map ,但我不知道如何设置递增值。我可以设置 $0["index"] = 1但我需要一个增加的值(value)。
使用 map 可以通过哪种方式实现?
myArray.map( { $0["index"] = ...? } )

谢谢你的帮助!

最佳答案

柜台在 for循环是一个常数。要使其可变,您可以使用:

for var item in myArray { ... }

但这在这里不会有帮助,因为我们会变异 item而不是 myArray 中的元素.

你可以改变 myArray 中的元素这边走 :
var myArray = [["index": 0], ["index":0], ["index":0], ["index":0]]

var counter = 0

for i in myArray.indices {
myArray[i]["index"] = counter
counter += 1
}

print(myArray) //[["index": 0], ["index": 1], ["index": 2], ["index": 3]]
counter这里不需要变量:
for i in myArray.indices {
myArray[i]["index"] = i
}

编写上述内容的一种功能方式是:
myArray.indices.forEach { myArray[$0]["index"] = $0 }

关于arrays - 遍历 Swift 数组并更改值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54973104/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com