Created
January 13, 2023 00:44
-
-
Save g14wx/5e4088a7f0118af901f1617d4f8948a5 to your computer and use it in GitHub Desktop.
Dart exercise
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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