具有最高编号的 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])
  );
}

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

相关文章:

javascript - Jquery Clone 克隆表单问题

javascript - 如何从异步调用返回响应?

javascript - 全宽 <div> 带 margin-left

javascript - 如何配置 webpack 的自动代码分割来加载相对于构建输出文件夹的模块?

javascript - 边界不适用于 JS 游戏中的球

javascript - 从 fancybox 中删除内联样式

javascript - 具有任意字符的 AngularJS 路由参数

javascript - Facebook 应用程序查看错误

javascript - 对包含带空格的文本的数组进行排序

javascript - 以 json 形式返回 protobuf 对象