Arrays swift从类似数组[0..<;10]的内容获取数组
我想从数组中获取一系列对象。大概是这样的:Arrays swift从类似数组[0..<;10]的内容获取数组,arrays,swift,filtering,Arrays,Swift,Filtering,我想从数组中获取一系列对象。大概是这样的: var array = [1,3,9,6,3,4,7,4,9] var newArray = array[1...3] //[3,9,6] 以上内容将访问从索引1到3的元素 还包括: newArray = array[1,5,3] // [3,4,6] would be cool 这将分别从索引1、5和3中检索元素。这项工作: var n = 4 var newArray = array[0..<n] var n=4 var newArr
var array = [1,3,9,6,3,4,7,4,9]
var newArray = array[1...3] //[3,9,6]
以上内容将访问从索引1到3的元素
还包括:
newArray = array[1,5,3] // [3,4,6] would be cool
这将分别从索引1、5和3中检索元素。这项工作:
var n = 4
var newArray = array[0..<n]
var n=4
var newArray=array[0..最后一个示例可以使用置换生成器实现:
let array = [1,3,9,6,3,4,7,4,9]
let perms = PermutationGenerator(elements: array, indices: [1,5,3])
// perms is now a sequence of the values in array at indices 1, 5 and 3:
for x in perms {
// iterate over x = 3, 4 and 6
}
如果您确实需要一个数组(仅序列可能就足够了),您可以将其传递到数组的init方法中,该方法接受一个序列:
let newArray = Array(perms)
// newArray is now [3, 4, 6]
对于您的第一个示例-使用数组,它将按原样工作。但从您的注释来看,您似乎也在尝试使用字符串。Swift中的字符串不是随机访问(因为与unicode有关的原因)。因此您不能使用整数,它们具有特定于字符串的双向索引类型:
let s = "Hello, I must be going"
if let i = find(s, "I") {
// prints "I must be going"
println(s[i..<s.endIndex])
}
let s=“你好,我得走了”
如果让我=找到(s,“我”){
//打印“我必须走了”
println(s[i..那么,你的问题是什么?'subscript'不可用:当你说str
时,不能用Int-str[1..@CodyCrank]的范围为字符串下标,你是在字符串上尝试吗?Swift的字符串没有数字索引。是的,我想出于某种原因苹果做了类似于“str[2]”的事情在wwdc但那是很久以前的事了哈哈