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

Array with multiple values per index?

我正在学习swift,我参加了sololearn课程以获取一些知识,但我遇到了一些我不明白的东西。
它是关于修改数组的值。有问题的部分说明如下:

In the following example, the elements with index 1, 2, 3 are replaced with two new values.

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

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

您可以使用元组 (Value, Value),或创建一个 struct 来处理您的值,事实上,如果您打算重用该对或值,则 struct 是干得好。

对了,不用加[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!

当您分配给数组中的索引范围 (array[1...3]) 时,这些元素将从数组中删除,新元素将取而代之 'slotted in'。这会导致阵列增大或缩小。

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