Skip to content

Instantly share code, notes, and snippets.

@bonomiandreia
Last active October 3, 2024 22:11
Show Gist options
  • Save bonomiandreia/81894d87ede3dec73127c7eff1a64cb7 to your computer and use it in GitHub Desktop.
Save bonomiandreia/81894d87ede3dec73127c7eff1a64cb7 to your computer and use it in GitHub Desktop.
bidimensionalarray.ts
interface Employee {
name: string;
role: string;
}
const list: Employee[] = [
{ name: 'andreia', role: 'developer' },
{ name: 'john', role: 'CEO' },
{ name: 'mica', role: 'sales' },
{ name: 'joana', role: 'cleaner' },
{ name: 'larissa', role: 'developer' }
];
// Passo 1: Criar um objeto para agrupar os funcionários por role
const groupedByRole: { [role: string]: Employee[] } = {};
// Passo 2: Preencher o objeto com os funcionários
list.forEach(employee => {
if (!groupedByRole[employee.role]) {
groupedByRole[employee.role] = [];
}
groupedByRole[employee.role].push(employee);
});
console.log(groupedByRole)
console.log(Object.values(groupedByRole))
// Passo 3: Criar um array bidimensional a partir do objeto
const bidimensionalArray: Employee[][] = Object.values(groupedByRole);
//console.log(bidimensionalArray);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment