>웹 프론트엔드 >JS 튜토리얼 >JavaScript 재미있는 질문: 루프 카운터

JavaScript 재미있는 질문: 루프 카운터

黄舟
黄舟원래의
2018-05-17 11:21:501647검색

프론트엔드 팀원 여러분:

지금 하고 있는 일을 내려놓고 새로운 요구사항이 생겼습니다.

저희 웹사이트 홈페이지에 있는 큰 카운터는 사용자 소프트웨어 다운로드 횟수를 계산하는 카운터입니다.

제품 관리자는 이를 보고 좀 더 사용자 친화적으로 보이도록 특수 효과를 추가해야 한다고 느꼈습니다.

정확한 값 앞에서 숫자가 멈췄을 때 순환 스크롤 효과가 나타나도록 하는 계획을 세웠습니다.

은 다음과 유사합니다.


작업은 다음과 같습니다.

카운트 값을 기반으로 함수를 만듭니다. 문자열, 2차원 배열 을 생성하고 반환합니다.

예:

counterEffect("1250") // [[0,1],[0,1,2],[0,1,2,3,4,5],[0]] 
counterEffect("0050") // [[0],[0],[0,1,2,3,4,5],[0]] 
counterEffect("0000") // [[0],[0],[0],[0]]

"1250"이라고 가정해 보겠습니다. 첫 번째 문자는 1이고 2D 배열의 [0 ,1][0,1,2]에 해당하는 두 번째 문자 2에 해당합니다.

0부터 현재 문자까지의 과정입니다. 모든 중간 숫자를 배열에 입력해야 합니다.

아이디어:

매우 간단합니다. 문자열을 왼쪽에서 오른쪽으로 순회하고, 현재 문자를 기반으로 2차원 배열을 생성하고, 1차원 배열에 푸시합니다.

function counterEffect(hitCount) {
    var result = [];
    for(var i=0;i<hitCount.length;i++){
        var chr = hitCount.charAt(i);
        var num = chr - 0;
        var temp = [];
        for(var j=0;j<=num;j++){
            temp.push(j);
        }
        result.push(temp);
    }
    return result;
}

위 내용은 JavaScript 재미있는 질문: Loop Counter의 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.