2016-01-31 12 views
0

В моем кодировании Scala я нашел метод collect довольно полезным. Это позволяет одновременно фильтровать и преобразовывать элементы.RxJS5: как отображать и фильтровать один раз - как «собирать» в Scala?

В RxJS, похоже, ничего подобного нет. Я пропустил что-то очевидное или считается ненужным?

Помощник я тривиальна:

https://github.com/akauppi/svg.rx.js/blob/master/src/svg.rx.js#L27-L42

ответ

2

Существует не способ, кроме .filter(someFn).map(otherFn). Его можно добавить, я предположил (я являюсь автором) ... но преимущества будут минимальными. Они уже в основном действуют как преобразователи и чрезвычайно эффективны. Если вы сделаете что-то вроде: Observable.from([1,2,3,4]).filter(x => x % 2).map(x => x + '!!!'), он будет только катиться через массив один раз. Это не похоже на Array.filter.map, где вы проходите через это (возможно) два раза.

Я надеюсь, что ответит на ваш вопрос. Если вы считаете, что это должна быть особенность, come propose an issue и сообщество может обсудить это, но моя кишка говорит мне, что это, вероятно, не является необходимой оптимизацией.

+1

Спасибо за подтверждение. Я просто хотел убедиться, что я ничего не пропустил. – akauppi