为什么在 Optional Array 上的映射不同于 non-optionalArray
Why is mapping over Optional Array different from non-optionalArray
let optionalArray : [Int]? = [1,2,3]
optionalArray.map({
print("beforeEach element");
print([=10=]);
})
let nonOptionalArray = [1,2,3]
nonOptionalArray.map({
print("beforeEach element");
print([=10=]);
})
输出:
beforeEach element
[1, 2, 3]
beforeEach element
1
beforeEach element
2
beforeEach element
3
我使用的是 OptionalArray,[=11=]
返回整个数组 。为什么?我不是在循环吗?!
您正在 运行 将地图设置在 Optional<[Int]>
上,该地图也支持地图。
您想要 optionalArray?.map
到 运行 数组上的映射,可选的可能正在包装。
let optionalArray : [Int]? = [1,2,3]
optionalArray.map({
print("beforeEach element");
print([=10=]);
})
let nonOptionalArray = [1,2,3]
nonOptionalArray.map({
print("beforeEach element");
print([=10=]);
})
输出:
beforeEach element
[1, 2, 3]
beforeEach element
1
beforeEach element
2
beforeEach element
3
我使用的是 OptionalArray,[=11=]
返回整个数组 。为什么?我不是在循环吗?!
您正在 运行 将地图设置在 Optional<[Int]>
上,该地图也支持地图。
您想要 optionalArray?.map
到 运行 数组上的映射,可选的可能正在包装。