Computer >> Máy Tính >  >> Lập trình >> Javascript

Tạo số lớn nhất từ ​​một mảng trong JavaScript

Chúng tôi bắt buộc phải viết một hàm JavaScript lấy một mảng số làm đối số đầu tiên và duy nhất.

Hàm phải xâu chuỗi các số có trong mảng lại với nhau để tạo thành số lớn nhất có thể có thể được hình thành từ các tập hợp số đã cho đó.

Ví dụ -

Nếu mảng đầu vào là -

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

Sau đó, đầu ra phải là -

const output = '9545343';

Ví dụ

Sau đây là mã -

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));

Đầu ra

Sau đây là đầu ra của bảng điều khiển -

9545343