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

Tìm số lớn hơn được tạo bởi các chữ số giống nhau trong JavaScript

Vấn đề

Chúng tôi được yêu cầu viết một hàm JavaScript lấy một số, num, làm đối số đầu tiên và duy nhất.

Hàm của chúng ta sẽ tìm và trả về một số sao cho nó chỉ chứa và tất cả các chữ số của số đầu vào và chỉ lớn hơn số đầu vào

Nếu không tồn tại số như vậy, hàm của chúng ta sẽ trả về -1.

Ví dụ:nếu đầu vào của hàm là -

const num = 5656;

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

const output = 5665;

Giải thích đầu ra

Bởi vì 5665 chỉ chứa và tất cả các chữ số của 5656 và chỉ lớn hơn 5656.

Ví dụ

Sau đây là mã &mius;

const num = 5656;
const justBigger = (num) => {
   const sorted = num => ('' + num).split('').sort((a, b) => b - a);
   const max = +sorted(num).join('')
   for (let i = num + 1; i <= max; i++) {
      if (max === +sorted(i).join('')){
         return i;
      }
   };
   return -1;
}
console.log(justBigger(num));

Đầu ra

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

5665