给定一个包含任意数量对象的数组,如何干净利落地将前三个元素存储到新数组中?如果数组不包含至少3个元素,则不应该触发运行时异常,而只应将数组中元素的数量添加到新数组中。将数组中的第一个元素存储在另一个数组中,如果它们存在
我想这可能会奏效,但它不会在Xcode 7编译,如果它没有我无法想象它会表现得安全地我的愿望:
let arr1 = [1, 2, 3, 4, 5]
let arr2 = arr1[0..<3]
//Expected: arr == [1, 2, 3]
let arr1 = [1, 2]
let arr2 = arr1[0..<3]
//Expected: arr2 == [1, 2]
let arr1 = [Int]()
let arr2 = arr1[0..<3]
//Expected: arr2 == []
当然,一个总是可以做像这样的东西,或者你可以使用for循环,但既不清晰又简洁。我想找一个更快捷的方式。
let arr1 = [1, 2]
var arr2 = [Int]()
if photos.count > 0 {
arr2.append(arr1[0])
}
if photos.count > 1 {
arr2.append(arr1[1])
}
if photos.count > 2 {
arr2.append(arr1[2])
}
什么范围,比如'3 .. <6'? –
@AaronBrager原来的问题是关于前三个。 – MirekE
适合我需要的东西,只是美丽的 – Joey