title: Split the array as value in Observable<any[]> to smaller chunks
body: <p>I was struggling some hours to replicate a process on an array of objects with Observable but I didn't have any luck to get it done!</p>
  
  <p>Imagine we have a big array like this as an Observable:</p>
  
  <pre><code>[ 
    {name: "you1", id: 32}, 
    {name: "you2", id: 12}, 
    {name: "you3", id: 22},
    {name: "you4", id: 54}, 
    {name: "you", id: 09},
    {name: "you", id: 43}, 
    ....
  ]
  </code></pre>
  
  <p>and you want to group them by 3 arrays and each arrays has 2 items like this:</p>
  
  <pre><code>[ 
    [{name: "you1", id: 32}, {name: "you2", id: 12}], 
    [{name: "you3", id: 22}, {name: "you4", id: 54}], 
    [{name: "you", id: 09}, {name: "you", id: 43}], 
    ....
  ]
  </code></pre>
  
  <p>This range is dynamic and we need to make some calculation and transform the Observable value into this form. Well, I have it done easily in Javascript but I don't know how it can be done in RXJS. Any help?</p>
  
  <p>It is how it has been done in JS: </p>
  
  <pre class="lang-js prettyprint-override"><code>        let positionArray,
              positionItem = 0;
          const totalArray = this.groupedBySize &gt; 0 ? Math.floor(size(this.selectedWorkspaces) / this.groupedBySize) : 0;
          this.selectedGroupedWorkspaces = [];
  
          for (positionArray = 0; positionArray &lt; totalArray; positionArray += 1) {
              this.selectedGroupedWorkspaces[positionArray] = this.selectedWorkspaces.slice(
                  positionItem,
                  positionItem + this.groupedBySize
              );
              positionItem = positionItem + this.groupedBySize;
          }
          if (positionArray &lt; totalArray || positionArray === 0) {
              this.selectedGroupedWorkspaces[positionArray] = this.selectedWorkspaces.slice(positionItem);
          }
  
          this.workspaces$ = of(this.selectedGroupedWorkspaces);
  </code></pre>