У меня есть объект в моем main.js:
var Status={
prop1:'',
prop2:'',
prop3:'',
prop4:''
};
Тогда у меня есть функция (в другом файле .js), которая вычисляет prop2
, prop3
и prop4
примерно так:
function CalculateProperties() {
var returnToMain={
prop2:'', //note that props in returnToMain have same names as in Status
prop3:'',
prop4:''
};
returnToMain.prop2=**some_calculations**;
returnToMain.prop3=**some_calculations**;
returnToMain.prop4=**some_calculations**;
return returnToMain;
}
module.exports = CalculateProperties;
Из main.js я называю это так:
Status = CalculateProperties();
Я ожидаю, что он оставляет prop1
в покое и перезаписывает prop2
, prop3
и prop4
, но он перезаписывает объект в целом, поэтому после запуска я получаю:
Status={
prop2: 'Calculated_Value',
prop3: 'Calculated_Value',
prop4: 'Calculated_Value'
};
вместо:
Status={
prop1: 'Original_Value',
prop2: 'Calculated_Value',
prop3: 'Calculated_Value',
prop4: 'Calculated_Value'
};
Как мне сделать так, чтобы он перезаписывал только свойства с одинаковыми именами и оставлял другие в покое? Спасибо.