如何选择与最高编号相关联的变量?如果我的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])
  );
}

关于javascript - 具有最高编号的Javascript变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59206208/

10-09 16:41
查看更多