반응형

1.01.1과 1.0.11 중 1.01.1 이 버전이 더 높은것처럼 .으로 구분된 버전을 구분하는 방법은 아래와 같다.

 

function compareVersions(v1, v2) {
  // 두 버전을 '.'을 기준으로 나눕니다.
  const v1Parts = v1.split('.');
  const v2Parts = v2.split('.');

  // 각 세그먼트를 정수로 변환하여 비교합니다.
  for (let i = 0; i < v1Parts.length; i++) {
    const v1Part = parseInt(v1Parts[i]);
    const v2Part = parseInt(v2Parts[i]);

    if (v1Part > v2Part) {
      return 1;
    } else if (v1Part < v2Part) {
      return -1;
    }
  }

  // 모든 세그먼트가 같으면 버전이 같다고 간주합니다.
  return 0;
}

// 예제 사용법
console.log(compareVersions('1.01.1', '1.0.11')); // 1 반환

세그먼트(예: 1.0.1)로 구성되어 있다고 가정하고, 각 세그먼트를 정수로 변환하여 비교할 수 있다.

 

이 함수는 첫 번째 버전이 두 번째 버전보다 크면 1을, 작으면 -1을, 같으면 0을 반환합니다. 

따라서 compareVersions('1.01.1', '1.0.11')은 1을 반환한다.

반응형