UNPKG

aureooms-js-array

Version:

array manipulation code bricks for JavaScript

45 lines (27 loc) 494 B
export function group ( key, iterable, out ) { var i, len, curr, next, tuple, item, items; len = iterable.length; if ( len === 0 ) { return out; } i = 0; item = iterable[i]; next = key( item ); do { curr = next; items = [item]; tuple = [curr, items]; ++i; while ( i < len ) { item = iterable[i]; next = key( item ); if ( next !== curr ) { break; } items.push( item ); ++i; } out.push( tuple ); } while ( i < len ); return out; }