Une feuille de triche sur la façon d'utiliser des méthodes d'instance JavaScript communes dans Rust.
Documentation JavaScript :
Exécute une fonction de rappel "Reducer" fournie par l'utilisateur sur chaque élément du tableau (de gauche à droite), pour le réduire à une seule valeur.
Exemple JavaScript:
const res = arr . reduce ( ( acc , obj ) =>
Math . abs ( obj . prop ) < Math . abs ( acc . prop ) ? obj : acc
) ;Documentation de la rouille :
Réduit les éléments en un seul, en appliquant à plusieurs reprises une opération de réduction.
Exemple de rouille:
let res = arr . iter ( ) . reduce ( |acc , obj| {
if ( obj . prop ) . abs ( ) < ( acc . prop ) . abs ( ) {
obj
} else {
acc
}
} ) ;Documentation JavaScript :
Renvoie un nouveau tableau contenant tous les éléments du tableau d'appel pour lequel la fonction de filtrage fournie renvoie
true.
Exemple:
const res = arr . filter ( r => r . prop === comparator ) ;Documentation de la rouille :
Crée un itérateur qui utilise une fermeture pour déterminer si un élément doit être cédé.
Exemple:
let res = arr . iter ( ) . filter ( | & r| r . prop == comparator ) . collect :: < Vec < _ > > ( ) ;Documétation JavaScript :
Renvoie un nouveau tableau contenant les résultats de l'invoquer une fonction sur chaque élément du tableau d'appel.
Exemple:
let res = arr . map ( r => ( {
name : r . displayName ,
family : r . familyName
} ) ) ;Documentation de la rouille :
Prend une fermeture et crée un itérateur qui appelle cette fermeture sur chaque élément.
Exemple ( SimplePerson ici est une struct ):
let res = arr . map ( |r| SimplePerson {
name : r . display_name . clone ( ) ,
family : r . family_name . clone ( ) ,
} ) ;Documentation JavaScript :
La référence au tableau d'origine, maintenant triée. Notez que le tableau est trié en place et qu'aucune copie n'est faite.
Exemple:
const res = arr . sort ( ( a , b ) => a . prop - b . prop ) ;Documentation de la rouille :
Trie la tranche.
Exemple (notez que nous mutons arr ):
arr . sort_by ( |a , b| a . prop . cmp ( & b . prop ) ) ;