Sha256: 0ea43a0c011c7bd22f072a822ac91d4d63c688cd21533e3277d40740f12592d7

Contents?: true

Size: 588 Bytes

Versions: 72

Compression:

Stored size: 588 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

72 entries across 72 versions & 1 rubygems

Version Path
trackler-2.0.8.30 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.0.8.29 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.0.8.28 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.0.8.27 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.0.8.26 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.0.8.24 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.0.8.23 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.0.8.22 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.0.8.21 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.0.8.20 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.0.8.19 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.0.8.18 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.0.8.17 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.0.8.16 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.0.8.15 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.0.8.14 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.0.8.13 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.0.8.12 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.0.8.11 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift
trackler-2.0.8.10 tracks/swift/exercises/flatten-array/Sources/FlattenArrayExample.swift