Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 두 IP 주소 사이에 존재하는 IP 주소 수 계산

<시간/>

문제

두 개의 IPv4 주소를 받아서 그 사이의 주소 수를 반환하는 JavaScript 함수를 작성해야 합니다(첫 번째 주소 포함, 마지막 주소 제외).

이를 10진수로 변환하고 절대차를 구함으로써 이를 수행할 수 있습니다.

예시

다음은 코드입니다 -

const ip1 = '20.0.0.10';
const ip2 = '20.0.1.0';
const countIp = (ip1, ip2) => {
   let diff = 0;
   const aIp1 = ip1.split(".");
   const aIp2 = ip2.split(".");
   if (aIp1.length !== 4 || aIp2.length !== 4) {
      return "Invalid IPs: incorrect format";
   }
   for (x = 0; x < 4; x++) {
      if (
         isNaN(aIp1[x]) || isNaN(aIp2[x])
         || aIp1[x] < 0 || aIp1[x] > 255
         || aIp2[x] < 0 || aIp2[x] > 255
      ) {
         return "Invalid IPs: incorrect values"
      }
      diff += (aIp1[x] - aIp2[x]) * (256 * (3-x));
   }
   return Math.abs(diff);
};
console.log(countIp(ip1, ip2));

출력

다음은 콘솔 출력입니다 -

256