dist/arquero.node.js
/**
   * Perform a table scan, visiting each row of the table.
   * If this table is filtered, only rows passing the filter are visited.
   * @param {ScanVisitor} fn Callback invoked for each row of the table.
   * @param {boolean} [order=false] Indicates if the table should be
   *  scanned in the order determined by {@link Table#orderby}. This
   *  argument has no effect if the table is unordered.
   * @property {number} [limit=Infinity] The maximum number of objects to create.
   * @property {number} [offset=0] The row offset indicating how many initial rows to skip.
   */
Perform a table scan, visiting each row of the table.
If this table is filtered, only rows passing the filter are visited.
@param {ScanVisitor} fn Callback invoked for each row of the table.
@param {boolean} [order=false] Indicates if the table should be
scanned in the order determined by  Table#orderby. This
argument has no effect if the table is unordered.
@property {number} [limit=Infinity] The maximum number of objects to create.
@property {number} [offset=0] The row offset indicating how many initial rows to skip.
Perform a table scan visiting each row of the table . If this table is filtered only rows passing the filter are visited . @param { ScanVisitor } fn Callback invoked for each row of the table . @param { boolean } [ order = false ] Indicates if the table should be scanned in the order determined by Table#orderby . This argument has no effect if the table is unordered . @property { number } [ limit = Infinity ] The maximum number of objects to create . @property { number } [ offset = 0 ] The row offset indicating how many initial rows to skip .
scan(fn, order, limit = Infinity, offset = 0) {
    const filter = this._mask;
    const nrows = this._nrows;
    const data = this._data;
    let i = offset || 0;
    if (i > nrows) return;
    const n = Math.min(nrows, i + limit);
    const stop = () => i = this._total;
    if (order && this.isOrdered() || filter && this._index) {
      const index = this.indices();
      const data = this._data;
      for (; i < n; ++i) {
        fn(index[i], data, stop);
      }
    } else if (filter) {
      let c = n - i + 1;
      for (i = filter.nth(i); --c && i > -1; i = filter.next(i + 1)) {
        fn(i, data, stop);
      }
    } else {
      for (; i < n; ++i) {
        fn(i, data, stop);
      }
    }
  }
scan ( fn , order , limit = Infinity , offset = 0 ) { const filter = this . _mask ; const nrows = this . _nrows ; const data = this . _data ; let i = offset || 0 ; if ( i > nrows ) return ; const n = Math . min ( nrows , i + limit ) ; const stop = ( ) => i = this . _total ; if ( order && this . isOrdered ( ) || filter && this . _index ) { const index = this . indices ( ) ; const data = this . _data ; for ( ; i < n ; ++ i ) { fn ( index [ i ] , data , stop ) ; } } else if ( filter ) { let c = n - i + 1 ; for ( i = filter . nth ( i ) ; -- c && i > - 1 ; i = filter . next ( i + 1 ) ) { fn ( i , data , stop ) ; } } else { for ( ; i < n ; ++ i ) { fn ( i , data , stop ) ; } } }
Perform a table scan, visiting each row of the table.
Perform a table scan visiting each row of the table .