从JavaScript中的数组构造最大数量

我们需要编写一个JavaScript函数,该函数将数字数组作为第一个也是唯一的参数。

函数应将数组中存在的数字串在一起,以形成可以由给定数字集形成的最大可能数字。

例如-

如果输入数组是-

const arr = [5, 45, 34, 9, 3];

那么输出应该是-

const output = '9545343';

示例

以下是代码-

const arr = [5, 45, 34, 9, 3];
const largestNumber = (arr = []) => {
   if(arr.every( n => n === 0)){
      return '0';
   }
   arr.sort((a, b) => {
      const s1 = new String(a);
      const s2 = new String(b);
      const first = s1 + s2;
      const second = s2 + s1;
      if(first > second){
         return -1;
      }else if(first < second){
         return 1;
      };
      return 0;
   });
   return arr.join('');
};
console.log(largestNumber(arr));
输出结果

以下是控制台输出-

9545343