Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm số lớn hơn ngay lập tức bằng cùng các chữ số trong JavaScript

Vấn đề

Chúng ta cần viết một hàm JavaScript nhận vào một số num làm đối số duy nhất. Hàm phải tìm và trả về một số sao cho nó chỉ chứa và chứa 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 phải trả về -1.

Ví dụ, nếu đầu vào là:

const num = 5656;

Thì đầu ra sẽ là:

const output = 5665;

Giải thích kết quả

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

Ví dụ

Dưới đây là mã thực hiện:

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

Kết quả

Đầu ra trên console:

5665