Ios 从Swift中Int的数组中删除前n个元素
如何从Swift中的Ios 从Swift中Int的数组中删除前n个元素,ios,arrays,swift,Ios,Arrays,Swift,如何从Swift中的Int数组中删除第一个n元素 例如: var array = [0, 1, 2, 3, 4, 5, 6] let n = 4 结果数组包含以下元素: [4, 5, 6] (感谢KPM和WolfLink指出let result=array.dropFirst(n)将result设置为ArraySlice,如果原始数组被释放,该属性将不保持有效。)您可以使用一个范围对数组进行切片: var array = [1,2,3,4,5,6] let n = 4 print(arra
Int
数组中删除第一个n
元素
例如:
var array = [0, 1, 2, 3, 4, 5, 6]
let n = 4
结果数组包含以下元素:
[4, 5, 6]
(感谢KPM和WolfLink指出
let result=array.dropFirst(n)
将result
设置为ArraySlice
,如果原始数组被释放,该属性将不保持有效。)您可以使用一个范围对数组进行切片:
var array = [1,2,3,4,5,6]
let n = 4
print(array[n..<array.count]) //[4,5,6]
var数组=[1,2,3,4,5,6]
设n=4
打印(数组[n..比约翰逊先生的答案略为简洁:
let result = array.suffix(3)
我还是会选择他的,因为dropFirst
比后缀更直观/可读
这对我不再适用:不能为“[String]类型的值下标'的索引为'CountableRange'
。小心,这只会返回一个子序列,即数组上的一个特殊视图,该视图避免了前n个元素。内存仍将在那里,悬而未决。小心,这只会返回一个子序列,即数组上的一个特殊视图,该视图避免了前n个元素。内存仍将保留“在那里,四处游荡。@KPM内存肯定在那里游荡。如果没有,我们如何访问原始数组?在释放原始数组后,Il仍然在那里,因为子序列仍然会保留整个原始数组。在这种情况下,结果
是一个索引为main与原始数组中的相同。尝试访问result[0]
将导致索引越界错误。let result=array(array.dropFirst(n))
将使result
成为具有自己索引的单独数组(这样result[0]
将有效,假设结果不为空)
let result = array.suffix(3)