mergeMap

RxJS 5 mergeMap

HTML

<script src="https://npmcdn.com/@reactivex/[email protected]/dist/global/Rx.umd.js"></script>

JavaScript

function intersection_destructive(a, b) {
  a.sort();
  b.sort();
  var result = [];
  while (a.length > 0 && b.length > 0) {
    if (a[0] < b[0]) {
      a.shift();
    } else if (a[0] > b[0]) {
      b.shift();
    } else /* they're equal */ {
      result.push(a.shift());
      b.shift();
    }
  }

  return result;
}

//emit 'Hello'
const source = Rx.Observable.from([
  ['a', 'b', 'c'],
  ['b', 'c'],
  ['d', 'c', 'b']
]);

source

  .reduce((a, b) => intersection_destructive(a, b))
  .subscribe((res) => {
    console.log(res);
  })