【问题标题】:Find out which of four variables contains the largest integer in javascript [closed]找出四个变量中的哪一个包含javascript中的最大整数[关闭]
【发布时间】:2017-08-31 06:15:28
【问题描述】:

我有四个变量,a、b、c 和 d,每个变量都包含 0 到 100 之间的数字,我不知道代码可以确定四个变量中的哪一个包含最大的数字。

我需要知道保存最大值的变量的名称,而不是最大值本身!

【问题讨论】:

  • 你能展示一些你到目前为止所做的代码草稿吗?
  • 如果有多个变量具有最高值怎么办? 确定具有最高值的变量是什么意思?你的意思只是价值,对吧?使用Math.max(a, b, c, d)
  • Object.entries({ a, b, c, d}).sort((a, b) => a[1] - b[1]).pop()[0]
  • 数据在redshadow67.com/deepest/js/scor.js 中,其中我要检查的是run、uun、gun 和kun。 (四个角色的综合数据得分最高,所以我知道哪个角色在场景中占据主动)
  • 我最终这样做了,但我仍然想知道什么时候我有 20 个变量或其他东西.... function startScared2(){ if(run>uun&&run>gun&&run>kun){dragon2 ="红色"; redAct();} if(uun>run&&uun>gun&&uun>kun){dragon2="blue"; blueAct();} if(gun>run&&gun>uun&&gun>kun){dragon2="green"; greenAct();} if(kun>run&&kun>uun&&kun>gun){dragon2=="black"; blackAct();} }

标签: javascript integer


【解决方案1】:

let a=8, b=1, c=9, d=3

let obj={a,b,c,d},
	greatest=Object.values(obj).sort().pop()
	key = Object.keys(obj).find( k => obj[k] === greatest )

console.log(key) // Logs "c"

【讨论】:

  • 如果我将 b 的值更新为 10,输出仍然是“c”。
【解决方案2】:

看看这个,对我有用...

Math.max(a, b, c, d);

【讨论】:

  • 这只是找到最大值,而不是变量名。
【解决方案3】:

您可以使用此代码。这也适用于负整数,以防您将来有负值。它将对您有用。

var a=10, b=20, c=15, d = 5;
var array = [a, b, c, d];
var largest=a;

for (i=1; i<=array.length;i++){
    if (array[i]>largest) {
        largest=array[i];
    }
}
console.log(largest);

【讨论】:

  • 如果所有数字都小于0怎么办?
  • @Barmar 公平地说.. OP 确实将边界设置为 0 到 100..
  • 不用担心,我已经编辑了我的答案以使用负值
  • 是的,这就是我一直在寻找的东西……我的大脑只是不想同源得足够好,显然无法提出这个问题……
  • 如果对你有用,请采纳答案并点赞
【解决方案4】:

您可以使用递归调用。 将所有变量存储在一个数组中。初始调用是通过 findMax(a, a.length-1)。

function findMax(a, index) {
  if (index > 0) {
    return Math.max(a[index], findMax(a, index - 1));
  } else {
    return a[0];
  }
}
var x = findMax([1, 4, 50, 3], 3);
console.log(x);
//In inital call pass array.length -1

【讨论】:

  • public static int ?这甚至不是 Javascript。
  • 立即查看。只需将代码从 java 更改为 javascript。如果您喜欢我的回答,请点赞 :)
  • Store all the variables in an array,你没有在你的代码中这样做。此外,我正在努力了解此功能的作用。你甚至没有调用它或记录输出。
【解决方案5】:

对数组进行降序排序,得到第一个。

[a, b, c, d].sort(function(num1, num2){return num2-num1;})[0]

【讨论】:

  • 这不是重点。您需要找到 THE VARIABLE,而不是最高值。
  • @campovski 如果没有找到值找到变量意味着什么?
  • 查找变量名
猜你喜欢
  • 2020-01-17
  • 2020-01-21
  • 1970-01-01
  • 2014-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多