Una hoja de trucos sobre cómo usar métodos de instancia de JavaScript comunes en Rust.
Documentación de JavaScript :
Ejecuta una función de devolución de llamada "reductor" suplicada por el usuario en cada elemento de la matriz (de izquierda a derecha), para reducirla a un solo valor.
Ejemplo de JavaScript:
const res = arr . reduce ( ( acc , obj ) =>
Math . abs ( obj . prop ) < Math . abs ( acc . prop ) ? obj : acc
) ;Documentación de óxido :
Reduce los elementos a uno solo, aplicando repetidamente una operación reductora.
Ejemplo de óxido:
let res = arr . iter ( ) . reduce ( |acc , obj| {
if ( obj . prop ) . abs ( ) < ( acc . prop ) . abs ( ) {
obj
} else {
acc
}
} ) ;Documentación de JavaScript :
Devuelve una nueva matriz que contiene todos los elementos de la matriz de llamadas para la cual la función de filtrado proporcionada devuelve
true.
Ejemplo:
const res = arr . filter ( r => r . prop === comparator ) ;Documentación de óxido :
Crea un iterador que usa un cierre para determinar si se debe ceder un elemento.
Ejemplo:
let res = arr . iter ( ) . filter ( | & r| r . prop == comparator ) . collect :: < Vec < _ > > ( ) ;Documetación de JavaScript :
Devuelve una nueva matriz que contiene los resultados de invocar una función en cada elemento en la matriz de llamadas.
Ejemplo:
let res = arr . map ( r => ( {
name : r . displayName ,
family : r . familyName
} ) ) ;Documentación de óxido :
Toma un cierre y crea un iterador que llama ese cierre en cada elemento.
Ejemplo ( SimplePerson aquí es una struct ):
let res = arr . map ( |r| SimplePerson {
name : r . display_name . clone ( ) ,
family : r . family_name . clone ( ) ,
} ) ;Documentación de JavaScript :
La referencia a la matriz original, ahora ordenada. Tenga en cuenta que la matriz se clasifica en su lugar, y no se hace una copia.
Ejemplo:
const res = arr . sort ( ( a , b ) => a . prop - b . prop ) ;Documentación de óxido :
Clasifica la porción.
Ejemplo (tenga en cuenta que estamos mutando arr ):
arr . sort_by ( |a , b| a . prop . cmp ( & b . prop ) ) ;