Estou apenas procurando a implementação interna da função de ordem superior rápida como mapear, filtrar, reduzir.
De acordo com a documentação da Apple.
@inlinable public func map (_ transform: (Element) throws -> T) rehrows -> [T]
Retorna uma matriz contendo os resultados do mapeamento do fechamento fornecido sobre os elementos da sequência.
Por exemplo;
var arr = [1,2,3,4,5]
print(arr.map({$0*5}))
A saída será
[5,10,15,20,25];
ou
print(arr.map({String($0)}))
Estou ansioso para saber como a computação funciona basicamente aqui ou como funciona internamente uma ordem superior. Você poderia me ajudar aqui, como o mapa funciona aqui e o que fazer com os valores (multiplicar ou converter em string).
Você pode criar um mapa personalizado como este. Na sequência, você cria sua própria função de ordem superior.
extension Sequence {
public func customMap2<T>(
_ transform: (Element) -> T
) -> [T] {
var result = [T]()
for item in self {
result.append(transform(item))
}
return result
}
}
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras