Skip to content

Instantly share code, notes, and snippets.

@g14wx
Created January 13, 2023 00:44
Show Gist options
  • Save g14wx/5e4088a7f0118af901f1617d4f8948a5 to your computer and use it in GitHub Desktop.
Save g14wx/5e4088a7f0118af901f1617d4f8948a5 to your computer and use it in GitHub Desktop.
Dart exercise
void main() {
final dunderMifflin = Empresa(empleados:{
"Michael": 2,
"Jim": 4,
"Pam": 6
});
print(dunderMifflin.promedioSalarial());
}
class Empresa {
final Map<String,double> empleados;
late final List<Empleado> _empleados;
Empresa({required this.empleados}) {
_empleados = empleados.keys
.map((key) => Empleado(nombre: key, salario: (empleados[key] ?? 0)))
.toList();
}
double promedioSalarial() => double.parse(_promedioSalarial2Decimales());
String _promedioSalarial2Decimales ()=> (_calcularTotalSalarios() / _empleados.length)
.toStringAsFixed(2);
double _calcularTotalSalarios() => _empleados
.fold(0.0, (previousValue, currentValue)=> previousValue + currentValue.salario);
/*double _sumarSalarios () =>
empleados.keys
.map((key) => empleados[key]).toList()
.fold(0.0,(a, b) => a + (b ?? 0));
String promedioSalarial() {
double sumaSalarios = _sumarSalarios();
return (sumaSalarios / empleados.keys.length).toStringAsFixed(2);
}*/
}
class Empleado {
final String nombre;
final double salario;
const Empleado({required this.nombre, required this.salario});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment