javascript - 具有最高数字的 Javascript 变量
问题描述
如何选择与最高数字关联的变量?如果我有 p1 =1 , p2=4 和 p3=3,我怎样才能让程序选择最高的(在这种情况下是 p2?)
解决方案
您应该对参数应用范围,以便减少需要扫描的变量数量。
let myScope = {};
myScope.p1 = 1;
myScope.p2 = 4;
myScope.p3 = 3;
console.log(getHighest(myScope)); // 4
function getHighest(scope) {
return Math.max.apply(Math, Object.values(scope));
}
注意:更好的选择是调用一个变量p
来存储值,例如
var p = [ 1, 4, 3 ];
var max = Math.max.apply(Max, p);
不建议:您也可以从窗口访问它们,但这是骗人的......
var p1 = 1;
var p2 = 4;
var p3 = 3;
console.log(getHighest(window, /^p\d$/)); // 4
function getHighest(scope, pattern) {
return Math.max.apply(
Math,
Object.keys(scope)
.filter(k => k.match(pattern))
.map(k => scope[k])
);
}
推荐阅读
- string - 从头文件(waveshare Eink)中读取字符串数据到 arduino
- java - 添加到 ArrayLists 的问题
- java - 如何从android中的textview获取点击的文本部分?
- javascript - 骰子游戏正在计算正确的分数
- c - openMP 线程和迭代
- javascript - 如何在sequelize中对嵌套模型中的列进行排序?
- c - 奇怪的 c 编码风格
- php - Shell_exec 不响应大多数命令
- angular - 带有 Angular 客户端应用程序的身份服务器
- python - Python 中的崩溃或 ErrorValue - 关闭文件