我有两个数组
var arrayA = [false, false, false, false, false]
var arrayB = [1,2,3]
Run Code Online (Sandbox Code Playgroud)
数组B保留数组A的索引。例如,数组B的第一个对象为1。表示数组A的索引值为1,将被更改。
现在我要创建一个 newArray: [false,true,true.true,false]
怎么做?提前致谢。
一种方法是2 for循环。有没有更简单,更有效的方法?
您不需要两个for循环,只需要一个循环即可arrayB:
for index in arrayB {
arrayA[index] = true // or maybe arrayA[index] = !arrayA[index]
}
Run Code Online (Sandbox Code Playgroud)
或搭配forEach:
arrayB.forEach { arrayA[$0] = true }
Run Code Online (Sandbox Code Playgroud)
arrayB在执行此操作之前,您可能需要检查任何超出范围的元素:
arrayB = arrayB.filter { $0 >= 0 && $0 < arrayA.count }
Run Code Online (Sandbox Code Playgroud)