如果之前有人问过这个问题,我深表歉意,但我找不到任何我能想到的关键词。
我在 javascript 中有一个数组,我想根据我所处的模式确定它的最小值/最大值,所以我有一个函数:
function arrayMinMax(array, mode) {
// return min/max value from 1D array
return {
0: Math.min.apply(null, array),
1: Math.max.apply(null, array)
}[mode]
}
我的问题是:调用此函数时,是同时计算最小值和最大值还是仅计算通过模式
选择的最小值或最大值?如果是前者,那么与后者相比,性能会很差。
最佳答案
这两个值都将被计算。我建议您在这里使用“策略”模式。所以它看起来像:
getArrayMinMax: function (array, strategy) {
//you should pass Math.min or Math.max
return strategy.apply(null, array)
};
所以它可以这样使用:
getArrayMinMax([1, 2, 3, 4], Math.min);
关于javascript - javascript 查找表是在初始化之前还是之后执行函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33074049/