Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
require('devbox-linq');
var listaDeCoisas = [
{ id: 1, nome: 'Coisa 01', tipo: 'A' },
{ id: 2, nome: 'Coisa 02', tipo: 'A' },
{ id: 3, nome: 'Coisa 03', tipo: 'B' },
{ id: 4, nome: 'Coisa 04', tipo: 'B' },
{ id: 4, nome: 'Coisa 04', tipo: 'B' },
{ id: 5, nome: 'Coisa 05', tipo: 'C' }
];
var somenteTipoC = listaDeCoisas.where(x => x.tipo == 'C');
// [ { id: 5, nome: 'Coisa 05', tipo: 'C' } ]
var primeiroTipoA = listaDeCoisas.first(x => x.tipo == 'A');
// { id: 1, nome: 'Coisa 01', tipo: 'A' }
var existeAlgumTipoB = listaDeCoisas.any(x => x.tipo == 'B');
// true
var quantidadeCoisasTipoA = listaDeCoisas.count(x => x.tipo == 'A');
// 2
var coisasSemRepetir = listaDeCoisas.distinct();
/*
{ id: 1, nome: 'Coisa 01', tipo: 'A' },
{ id: 2, nome: 'Coisa 02', tipo: 'A' },
{ id: 3, nome: 'Coisa 03', tipo: 'B' },
{ id: 4, nome: 'Coisa 04', tipo: 'B' },
{ id: 5, nome: 'Coisa 05', tipo: 'C' }
*/
var coisasAgrupadas = listaDeCoisas.groupBy(x => x.tipo);
/*
[
[
{ id: 1, nome: 'Coisa 01', tipo: 'A' },
{ id: 2, nome: 'Coisa 02', tipo: 'A' }
],
[
{ id: 3, nome: 'Coisa 03', tipo: 'B' },
{ id: 4, nome: 'Coisa 04', tipo: 'B' },
{ id: 4, nome: 'Coisa 04', tipo: 'B' }
],
[
{ id: 5, nome: 'Coisa 05', tipo: 'C' }
]
]
*/
console.log(coisasAgrupadas[0].key) // 'A'
var minimo = listaDeCoisas.min(x => x.id)
// 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment