swift 从数组中随机取出指定个数的随机元素


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: 返回的元素是否不可以重复(默认为true,不可以重复)
    public func sample(size: Int, noRepeat: Bool = true) -> [Element]? {
        //如果数组为空,则返回nil
        guard !isEmpty else { return nil }
        
        var sampleElements: [Element] = []
        
        //返回的元素可以重复的情况
        if !noRepeat {
            for _ in 0..

你可能感兴趣的:(swift 从数组中随机取出指定个数的随机元素)