在数组中排列数字,以便创建最大数字

时间:2018-02-22 18:40:59

标签: javascript arrays reactjs

给定一组数字,以产生最大值的方式排列它们。例如,如果给定的数字是{54,546,548,60},则排列6054854654给出最大值。

var maxCombine = (a) => +(a.sort((x, y) => +("" + y + x) - +("" + x + y)).join(''));
var b = [54, 546, 548, 60];
// test & output
console.log([
  b
].map(maxCombine));

它正常工作并在日志上打印答案。但是当我在视野中使用它时它不会渲染任何东西

return (
  <div>{[b].map(maxCombine))}</div>
) 

1 个答案:

答案 0 :(得分:-1)

它应该可以工作,在你的情况下,输出将是数组中的单个元素。

试试这个:

return (
   <div>{([b].map(maxCombine))[0]}</div>
) 

或者使用它:

return (
  <div>{JSON.stringify([b].map(maxCombine))}</div>
) 

检查此片段,输出将是一个元素的数组:

var maxCombine = (a) => +(a.sort((x, y) => +("" + y + x) - +("" + x + y)).join(''));
var b = [54, 546, 548, 60];

console.log([
  b
].map(maxCombine));