Есть вот такой участок кода:
function ODESolver(equations) {
this.f = [];
this.initY = [];
this.initX = [];
this.dt = [];
this.t = [];
var i = 0;
for (var eq in equations) {
for (var param in equations[eq]) {
if (param === "initX")
this.initX[i] = equations[eq][param];
if (param === "initY")
this.initY[i] = equations[eq][param];
if (param === "f")
this.f[i] = equations[eq][param];
if (param === "dt")
this.dt[i] = equations[eq][param];
if (param === "t")
this.t[i] = equations[eq][param];
}
i++;
}
}
Необходимо передавать в данный конструктор объекта параметры описывающие различные начальные условия для дифференциальных уравнений (конечно не важно, что будет передаваться. Просто на примере понятнее).
На данный момент, задание и передача параметров происходит следующим образом:
var params = {
eq1: {
initX: 1,
initY: 2,
dt: 3,
t: 4,
f: function() {
return 1;
}
},
eq2: {
initX: 5,
initY: 6,
dt: 7,
t: 8,
f: function() {
return 2;
}
}
};
var odes = new ODESolver(params);
Возник вопрос, можно ли делать данную операцию более "красиво" и правильнее?