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

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值