Groups the elements of a sequence.

Simple

Enumerable.create("grape", "passionfruit", "banana", "apple", "blueberry") .groupBy('x => x[0]') .each(function(grouping) { // grouping[0].key = 'g' // grouping[0][0] = 'grape' // grouping[1].key = 'p' // grouping[1][0] = 'passionfruit' // grouping[2].key = 'b' // grouping[2][0] = 'banana' // grouping[2][1] = 'blueberry' // grouping[3].key = 'a' // grouping[3][0] = 'apple' });

With equality comparer

Enumerable.create("grape", "passionfruit", "banana", "apple", "Blueberry") .groupBy('x => x[0]', 'x, y => x === y') .each(function(g) { // grouping[0].key = 'g' // grouping[0][0] = 'grape' // grouping[1].key = 'p' // grouping[1][0] = 'passionfruit' // grouping[2].key = 'b' // grouping[2][0] = 'banana' // grouping[3].key = 'a' // grouping[3][0] = 'apple' // grouping[4].key = 'B' // grouping[4][0] = 'Blueberry' });