Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays swift从类似数组[0..<;10]的内容获取数组_Arrays_Swift_Filtering - Fatal编程技术网

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但那是很久以前的事了哈哈