Sha256: eb425ca7f3ad624b1b2c9bb80b880649239d64a2271b55c38ed263aaddb536f7

Contents?: true

Size: 590 Bytes

Versions: 266

Compression:

Stored size: 590 Bytes

Contents

import Foundation

func flattenArray<T>(_ list: [Any?]) -> [T] {

    var flattenedArray = [T]()

    func extractArrayElements(array: [Any?]) {

        for element in array.flatMap({ $0 }) {

            let anyObjectArray = element as? [Any?]

            if let unwrappedArray = anyObjectArray {

                extractArrayElements(array: unwrappedArray)

            }

            let value = element as? T

            if let i = value {

                flattenedArray.append(i)
            }

        }

    }

    extractArrayElements(array: list)

    return flattenedArray

}

Version data entries

266 entries across 266 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.2.1.179 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.2.1.178 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.2.1.177 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.2.1.176 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.2.1.175 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.2.1.174 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.2.1.173 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.2.1.172 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.2.1.171 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.2.1.170 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.2.1.169 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.2.1.167 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.2.1.166 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.2.1.165 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.2.1.164 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.2.1.163 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.2.1.162 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.2.1.161 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.2.1.160 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift