Uma folha de truques sobre como usar métodos comuns de instância de javascript na ferrugem.
Documentação JavaScript :
Executa uma função de retorno de chamada "redutor" fornecida pelo usuário em cada elemento da matriz (da esquerda para a direita), para reduzi-la a um único valor.
Exemplo JavaScript:
const res = arr . reduce ( ( acc , obj ) =>
Math . abs ( obj . prop ) < Math . abs ( acc . prop ) ? obj : acc
) ;Documentação de ferrugem :
Reduz os elementos para um único, aplicando repetidamente uma operação redutora.
Exemplo de ferrugem:
let res = arr . iter ( ) . reduce ( |acc , obj| {
if ( obj . prop ) . abs ( ) < ( acc . prop ) . abs ( ) {
obj
} else {
acc
}
} ) ;Documentação JavaScript :
Retorna uma nova matriz contendo todos os elementos da matriz de chamadas para os quais a função de filtragem fornecida retorna
true.
Exemplo:
const res = arr . filter ( r => r . prop === comparator ) ;Documentação de ferrugem :
Cria um iterador que usa um fechamento para determinar se um elemento deve ser produzido.
Exemplo:
let res = arr . iter ( ) . filter ( | & r| r . prop == comparator ) . collect :: < Vec < _ > > ( ) ;Javascript Documetation:
Retorna uma nova matriz contendo os resultados de invocar uma função em todos os elementos da matriz de chamadas.
Exemplo:
let res = arr . map ( r => ( {
name : r . displayName ,
family : r . familyName
} ) ) ;Documentação de ferrugem :
Tira um fechamento e cria um iterador que chama esse fechamento em cada elemento.
Exemplo ( SimplePerson aqui está uma struct ):
let res = arr . map ( |r| SimplePerson {
name : r . display_name . clone ( ) ,
family : r . family_name . clone ( ) ,
} ) ;Documentação JavaScript :
A referência à matriz original, agora classificada. Observe que a matriz é classificada no lugar e nenhuma cópia é feita.
Exemplo:
const res = arr . sort ( ( a , b ) => a . prop - b . prop ) ;Documentação de ferrugem :
Classifica a fatia.
Exemplo (observe que estamos mudando arr ):
arr . sort_by ( |a , b| a . prop . cmp ( & b . prop ) ) ;