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

0 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>
Run Code Online (Sandbox Code Playgroud)

使用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));
 };
Run Code Online (Sandbox Code Playgroud)

我在为错误的声明变量运行脚本时遇到错误.请提出建议.

错误:

Uncaught ReferenceError: a is not defined
at myFun (lagnum.html:26)
at HTMLButtonElement.onclick
Run Code Online (Sandbox Code Playgroud)

小智 5

在您的代码中,您错过了两件事,请检查以下几点.

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));
  };
Run Code Online (Sandbox Code Playgroud)