Чистовый лист о том, как использовать общие методы экземпляра JavaScript в Rust.
Документация JavaScript :
Выполняет поставленную пользователем функцию обратного вызова «Reducer» на каждом элементе массива (слева направо), чтобы уменьшить ее до одного значения.
Пример JavaScript:
const res = arr . reduce ( ( acc , obj ) =>
Math . abs ( obj . prop ) < Math . abs ( acc . prop ) ? obj : acc
) ;Документация ржавчины :
Снижает элементы до одного, неоднократно применяя операцию восстановления.
Пример ржавчины:
let res = arr . iter ( ) . reduce ( |acc , obj| {
if ( obj . prop ) . abs ( ) < ( acc . prop ) . abs ( ) {
obj
} else {
acc
}
} ) ;Документация JavaScript :
Возвращает новый массив, содержащий все элементы вызова массива, для которого предоставленная функция фильтрации возвращает
true.
Пример:
const res = arr . filter ( r => r . prop === comparator ) ;Документация ржавчины :
Создает итератор, который использует закрытие, чтобы определить, следует ли получить элемент.
Пример:
let res = arr . iter ( ) . filter ( | & r| r . prop == comparator ) . collect :: < Vec < _ > > ( ) ;JavaScript Documetation:
Возвращает новый массив, содержащий результаты вызова функции на каждом элементе в вызовом массива.
Пример:
let res = arr . map ( r => ( {
name : r . displayName ,
family : r . familyName
} ) ) ;Документация ржавчины :
Берет закрытие и создает итератор, который называет это закрытие на каждом элементе.
Пример ( SimplePerson здесь - это struct ):
let res = arr . map ( |r| SimplePerson {
name : r . display_name . clone ( ) ,
family : r . family_name . clone ( ) ,
} ) ;Документация JavaScript :
Ссылка на оригинальный массив, теперь отсортирована. Обратите внимание, что массив отсортирован на месте, и копия не сделана.
Пример:
const res = arr . sort ( ( a , b ) => a . prop - b . prop ) ;Документация ржавчины :
Сортирует кусочек.
Пример (обратите внимание, что мы мутируем arr ):
arr . sort_by ( |a , b| a . prop . cmp ( & b . prop ) ) ;