ios 取出数组中前两个元素_Swift - 从一个数组中随机获取一个、或多个元素(附样例)...

这篇博客介绍了如何在Swift中扩展Array类型,以实现从数组中随机抽取单个或多个元素的功能。通过`sample`方法,可以方便地获取到不重复或可重复的随机元素,示例代码展示了不同情况下的使用方法。
摘要由CSDN通过智能技术生成

在日常开发中,我们有时需要从一个指定数组中抽取随机元素(或者说样本元素)。比如从一个文章列表数组中随机展示一篇文章,又或是从一个颜色数组中随机获取几个颜色......下面通过样例演示如何实现这个功能。

1,扩展 Array

为了方便使用,我们首先对数组(Array)进行扩展(Array+.swift),增加如下两个属性和方法:

sample:从当前数组中返回一个随机元素

sample(size, noRepeat):从当前数组中从返回指定个数的随机元素

import Foundation

extension Array {

/// 从数组中返回一个随机元素

public var sample: Element? {

//如果数组为空,则返回nil

guard count > 0 else { return nil }

let randomIndex = Int(arc4random_uniform(UInt32(count)))

return self[randomIndex]

}

/// 从数组中从返回指定个数的元素

///

/// - Parameters:

/// - size: 希望返回的元素个数

/// - noRepeat: 返回的元素是否不可以重复(默认为false,可以重复)

public func sample(size: Int, noRepeat: Bool = false) -> [Element]? {

//如果数组为空,则返回nil

guard !isEmpty e

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值