Javascript 清理函数

Javascript 清理函数,javascript,function,Javascript,Function,所以,伙计们,我有一个奇怪的问题。。。 我有以下代码: var值forlakewood=(函数(m,k){ 返回m[k]==未定义?空:m[k]; })(this.lakewood,customerType); var valuesForBridgewood=(函数(m,k){ 返回m[k]==未定义?空:m[k]; })(this.bridgewood,customerType); var valuesForRidgewood=(函数(m,k){ 返回m[k]==未定义?空:m[k]; })

所以,伙计们,我有一个奇怪的问题。。。 我有以下代码:

var值forlakewood=(函数(m,k){
返回m[k]==未定义?空:m[k];
})(this.lakewood,customerType);
var valuesForBridgewood=(函数(m,k){
返回m[k]==未定义?空:m[k];
})(this.bridgewood,customerType);
var valuesForRidgewood=(函数(m,k){
返回m[k]==未定义?空:m[k];
})(this.ridgewood,customerType);
lakewoodCost=工作日*Lakewood的价值[0]
+周末*价值Forlakewood[1];
bridgewoodCost=工作日*BridgeWood的值[0]
+周末*布里奇伍德的价值[1];
RidgeWood成本=工作日*价值ForridgeWood[0]
+周末*valuesForRidgewood[1];
瓦尔酒店=

这是minCost(lakewoodCost、bridgewoodCost、ridgewoodCost)使用单个函数从对象中提取值,两个数组而不是六个独立变量,分解结构以使总成本操作更容易理解,然后将结果数组分散到
minCost

const getVal = obj => obj[customerType] === undefined ? null : obj[customerType];
const values = [this.lakewood, this.bridgewood, this.ridgewood].map(getVal);
const costs = values.map(([weekdayCost, weekendCost]) => weekdays * weekdayCost + weekends * weekendCost);
const hotel = this.minCost(...costs);

我想你可能在寻找你的代码是否工作。如果你的第一步是将重复的
函数(m,k){return m[k]==undefined?null:m[k];}
提取到一个命名的声明中,你可以!非常感谢。当一个答案解决了你的问题时,你可以考虑将它标记为接受(检查左边的复选框)以表明问题已经解决: