如何对Swift数组中的项目进行随机排序并删除。

8 浏览
0 Comments

如何对Swift数组中的项目进行随机排序并删除。

我有一个水果数组。我正在随机获取一个水果(见下面的代码)。问题是:在获取后,我如何从数组中删除这个水果?\nlet fruits = [\"apple\", \"orange\", \"banana\", \"pineapple\", \"lemon\" ]\nfunc getRandomFruit() -> String {\n let randomFruit = fruits.randomElement()!\n return randomFruit\n}\n\n答:你可以使用`remove(at:)`方法将随机获取的水果从数组中删除。下面是修改后的代码:\nlet fruits = [\"apple\", \"orange\", \"banana\", \"pineapple\", \"lemon\" ]\nfunc getRandomFruit() -> String {\n let randomIndex = Int.random(in: 0..

0
0 Comments

问题的原因是希望能够随机化一个数组的元素,并且在随机选取一个元素后将其从数组中移除。解决方法是使用Swift中的数组方法来实现。

首先,我们定义一个函数`getRandomFruit()`来实现随机选取并移除数组中的一个元素。该函数首先使用`guard`语句来判断数组是否为空,如果为空则返回`nil`。接着,通过`fruits.indices.randomElement()`方法来随机选取一个索引,并将其赋值给`index`变量。然后,使用`defer`语句来延迟移除选取的元素,确保该元素会在函数返回前被移除。最后,返回选取的元素`fruits[index]`。

接下来,我们定义一个包含水果的数组`fruits`。该数组包含了一些水果的名称。

然后,我们通过调用`getRandomFruit()`函数来随机选取并移除数组`fruits`中的元素。每次调用该函数时,将返回一个随机选取的水果名称,并且该水果名称将会在数组中被移除。如果数组为空,则函数将返回`nil`。

最后,通过连续调用`getRandomFruit()`函数来随机选取并移除数组`fruits`中的元素。我们可以看到,每次调用函数时,数组中的元素会被逐个选取并移除,直到数组为空。最后一次调用函数时,返回的结果为`nil`,表示数组已经为空。

总结起来,通过上述方法,我们可以实现对数组元素的随机选取和移除操作。这种方法可以确保每次选取的元素都是随机的,并且数组会在选取后动态地更新。这对于需要随机操作数组元素的场景非常有用。

0
0 Comments

问题的原因是需要对Swift数组进行随机化并移除其中的元素。解决方法是使用shuffle函数对数组进行随机化,然后使用popLast函数移除数组的最后一个元素。

以下是解决方法的代码示例:

var fruits = ["apple", "orange", "banana", "pineapple", "lemon" ]

fruits.shuffle()

let myfruit = fruits.popLast()

如果需要重复执行这个操作,当数组被清空时,myfruit将会是nil

另外,当需要将数组恢复到初始状态时,可以通过事先保留一份数组的副本来实现。

以上是解决问题的方法。

0