swift中的数组随机洗牌与实例

610 阅读1分钟

数组元素是根据元素的插入顺序来排序的。

这些元素可以在索引上检索。

有时,数组元素会随机洗牌,并使用索引来访问它。

洗牌是指,将原数组中的元素重置为随机的位置。

我们有很多方法可以做到这一点。

Swift数组洗牌的例子

Swift 4版本提供了两种方法:

  • shuffle方法:该方法通过修改原始数组,将元素以随机顺序进行洗牌。 它也被称为可变洗牌方法。
  • shuffled方法:这是在不修改原始数组的情况下以随机顺序洗牌元素。 它也被称为不可变的洗牌方法。

数组可变洗牌方法的例子

var numbers=[11, 12, 13, 21, 22, 23]
print(numbers);
numbers.shuffle();
print(numbers);

输出:

[11, 12, 13, 21, 22, 23]
[12, 21, 11, 22, 13, 23]

数组不可变的洗牌方法示例

var numbers=[11, 12, 13, 21, 22, 23]
print(numbers);
var numbers1=numbers.shuffled();
print(numbers1);

输出:

[11, 12, 13, 21, 22, 23]
[11, 13, 22, 23, 21, 12]

另一种使用自定义逻辑的编写方式。

生成随机索引并返回随机元素。

Int type包含一个 方法,所以生成0和数组计数之间的随机数。它返回一个随机索引并使用这个索引从数组中获取元素。random

你可以查看关于生成随机数的多种方法的帖子

var numbers=[11, 12, 13, 21, 22, 23]
let randomIndex = Int.random(in: 0..<numbers.count)
print(numbers[randomIndex]);

let randomIndex1 = Int.random(in: 0..<numbers.count)
print(numbers[randomIndex1]);

let randomIndex2 = Int.random(in: 0..<numbers.count)
print(numbers[randomIndex2]);