Demo:  zip

zip combines the items from the given sources by their index and emits each of the matching index items in separate arrays.

//Hint: On a timescale above the values look overlapped
let input_1 = timer(0, 1000).pipe(map(v=>v+10),take(10)) ;
let input_2 = timer(1000, 2000).pipe(take(4)) ;

//combine by matching index and emit in arrays
let combinedInput = zip(input_1 , input_2);

let output = combinedInput.subscribe(v=>console.log(v))