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

Đếm tổng số lượng số đảo ngược trong phạm vi bằng JavaScript


Số đảo ngược

Các số giữ nguyên khi xoay 180 độ được gọi là số đảo ngược.

Ví dụ, 9116, 69.

Vấn đề

Chúng ta cần viết một hàm JavaScript nhận vào một mảng phạm vi hai số. Hàm phải trả về số lượng tất cả các số đảo ngược nằm trong phạm vi chỉ định.

Ví dụ

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

const range = [5, 125]; 
const flipNum = (number) => { 
  const upsideDownDigits = [0, 1, -99, -99, -99, -99, 9, -99, 8, 6]; 
  let reverseNumArr = String(number) 
    .split('') 
    .map(val => Number(val)) 
    .reverse(); 
  let flipDigitsNumArr = reverseNumArr.map(val => upsideDownDigits[val]); 
  if (flipDigitsNumArr.includes(-99)) { 
    return false; 
  } 
  let flipDigitsNum = Number( 
    flipDigitsNumArr.reduce((accum, curr) => accum + String(curr)) 
  ); 
  return flipDigitsNum === number; 
}; 
const countUpsideDown = ([lowNum, highNum]) => { 
  let uDNums = 0; 
  for (let counter = lowNum; counter <= highNum; counter++) { 
    uDNums += flipNum(counter) === true; 
  } 
  return uDNums; 
}; 
console.log(countUpsideDown(range));

Kết quả

7