js 비교 버 전 번호

10048 단어 프로젝트 실전
실제 개발 작업 에서 우 리 는 프로젝트 전후의 버 전 번 호 를 비교 하여 캐 시 업 데 이 트 를 진행 할 것 이다.다음은 표준 버 전 번 호 를 js 로 비교 하 겠 습 니 다.
하나의 방법 을 실현 하여 두 버 전 번호 (version 1, version 2) 를 비교 할 때 version 1 > version 2 를 비교 하면 1 을 되 돌려 줍 니 다.만약 version 1 < version 2, 반환 - 1, 기타 상황 은 0 버 전 번호 규칙 x.y.z 을 되 돌려 줍 니 다. xyz 는 모두 0 이상 의 정수 이 고 적어도 x 비트 가 있 습 니 다.
예제: compareVersion ('0.1', '1.1.1'); /반환 - 1 compareVersion ('13.37', '1.2'); / /1 compareVersion ('1.1', '1.1.0') 을 되 돌려 줍 니 다. / /되돌아가다
function compareVersion(version1, version2) {
    const newVersion1 = `${version1}`.split('.').length < 3 ? `${version1}`.concat('.0') : `${version1}`;
    const newVersion2 = `${version2}`.split('.').length < 3 ? `${version2}`.concat('.0') : `${version2}`;
    //       ,    
    function toNum(a){
        const c = a.toString().split('.');
        const num_place = ["", "0", "00", "000", "0000"],
            r = num_place.reverse();
        for (let i = 0; i < c.length; i++){
            const len=c[i].length;
            c[i]=r[len]+c[i];
        }
        return c.join('');
    }

    //           
    function checkPlugin(a, b) {
        const numA = toNum(a);
        const numB = toNum(b);
        return numA > numB ? 1 : numA < numB ? -1 : 0;
    }
    return checkPlugin(newVersion1 ,newVersion2);
}
compareVersion('0.1', '1.1.1'); // -1
compareVersion('13.37', '1.2 '); // 1
compareVersion('1.1', '1.1.0'); // 0

이제 저 희 는 이 결과 에 따라 캐 시 를 업데이트 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기