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 được tạo từ 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ố n. Hàm sẽ sắp xếp lại các chữ số của số đó để tạo thành số nhỏ nhất sử dụng cùng các chữ số nhưng chỉ lớn hơn số đầu vào. Ví dụ, nếu số đầu vào là 112, kết quả nên là 121.

Ví dụ

Dưới đây là mã nguồn:

const num = 112; 
const findNextBigger = (num = 1) => { 
  const sortedDigits = (num = 1) => { 
    return String(num) 
      .split('') 
      .sort((a, b) => b - a); 
  }; 
  let max = sortedDigits(num).join(''); 
  max = Number(max); 
  for(let i = num + 1; i <= max; i++){ 
    if(max === +sortedDigits(i).join('')){ 
      return i; 
    }; 
  }; 
  return -1; 
}; 
console.log(findNextBigger(num));

Kết quả

Kết quả đầu ra trong console:

121