javascript - 从给定数组中查找最大数或最大值

标签 javascript

我的项目模块包含很多练习题,从我挑选并尝试解决的一个问题中,下面是问题。

给定一个数字数组,以产生最大值的方式排列它们。例如,如果 给定的数字是 {54, 546, 548, 60},排列 6054854654 给出最大值。 输入: 第一行包含一个整数N,下一行包含N个以空格分隔的整数。 输出: 打印使用给定数字可以获得的最大数字。 限制条件: 1<=N<=1000 1<=数字<=1000000

HTML:

Enter Number:   <input type="text" id="userinput"  class="clr"/>    <br> 
<br>
Largest Value:    <input type="text" id="out"  class="clr"/> <br> <br>

Javascript:

function myFun() {
 let b = document.getElementById("userinput").value;
 let c = b.split(" ");                    
 var maxCombine = (a) => +(a((x, y) => +("" + y + x) - +("" + x + y)).join(''));

document.getElementById("out").value = ([
 c
 ].map(a));
 };

我在运行脚本时遇到错误声明变量的错误。请大家给点建议。

错误:

Uncaught ReferenceError: a is not defined
at myFun (lagnum.html:26)
at HTMLButtonElement.onclick

最佳答案

在您的代码中,您遗漏了两件事,请检查以下几点。

i)拆分您要组合的值后,但您忘记对值进行排序以找到最大的值 ii)在映射输出时,您调用了错误的变量

请检查以下代码,

function myFun() {
  let b = document.getElementById("userinput").value;
  let c = b.split(" ");
  var maxCombine = (a) => +(a.sort((x, y) => +("" + y + x) - +("" + x + y)).join(''));

  document.getElementById("out").value = ([
  c
  ].map(maxCombine));
  };

关于javascript - 从给定数组中查找最大数或最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52567893/

相关文章:

javascript - 从嵌套的json中获取数据并使用Vue-Multiselect显示

javascript - 解压文件 node.js 时出现意外的文件结束错误

javascript - 从 Redux 中的多个位置在中间件中添加 reducer

javascript - 如何: Javascript get file name on click without path and insert it into a new image link?

Javascript:通过innerHTML动态编写HTML

javascript - ngRepeat 按深度属性过滤

javascript - 控制台读取变量值但返回未定义 - Javascript

JavaScript 正则表达式

javascript - Fineuploader-添加jqCrop

javascript - 当项目被插入时,使用数组代理按属性自动对对象进行排序