繁体   English   中英

每个索引具有多个值的数组?

[英]Array with multiple values per index?

我正在学习swift,并且我通过sololearn课程来获得一些知识,但是我碰到了一些我不明白的东西。
它是关于修改数组的值。 有问题的部分陈述如下:

在以下示例中,索引为 1、2、3 的元素被替换为两个新值。

shoppingList[1...3] = [“Bananas”, “Oranges”] 

一维数组如何为每个索引获取多个值? 我如何访问它们? 我是不是误会了什么?

当您分配给数组( array[1...3] )中的一系列索引时,这些元素将从数组中删除,新元素将“插入”它们的位置。 这可能导致阵列增长或缩小。

var array = Array(0...5)
// [0, 1, 2, 3, 4, 5]
array[1...3] = [-1, -2]
// [0, -1, -2, 3, 4]

请注意我们的数组长度现在是如何短了一个元素。

这段代码的作用是使用Array.subscript(_:)替换1...3范围内的shoppingList元素

这意味着考虑这个数组:

var shoppingList = ["Apples", "Strawberries", "Pears", "Pineaples"]

这与:

shoppingList[1...3] = ["Bananas", "Oranges"]

StrawberriesPearsPineaples将被BananasOranges取代。

所以结果数组将是: ApplesBananasOranges

您可以使用元组 (Value, Value),或创建一个struct来处理您的值,事实上,如果您打算重用这对或值, struct是 go 的方式。

顺便说一句,不需要添加[1..3] ,只需将值放在括号内即可。

struct Value {
    var name: String
    var lastName: String
}

let values = [Value(name: "Mary", lastName: "Queen"), Value(name: "John", lastName: "Black")]

// Access to properties
let lastName = values[1].lastName

// OR

let tuples = [("Mary", "Queen"), ("John", "Black")]

let lastNameTuple = tuples[1].1

希望你喜欢 Swift!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM