2012-01-05 7 views
2

숫자가 주어 졌을 때 해당 숫자의 길이만큼 배열을 생성하는 메서드를 작성해야합니다. 예 :JavaScript - 쌍 배열

var myArray = constructArray(6); 

이제는 중요한 부분입니다. 그것이 구성하는 배열은 숫자를 쌍으로해야합니다. 나는 숫자 6을 준 경우 예를 들어,이 반환 결과는 다음과 같습니다

[1, 1, 0, 0] 
: 나는 4를 준 경우

[2, 1, 1, 0, 0] 

:

[2, 2, 1, 1, 0, 0] 

을 그리고 5를 준 경우

그래, 너 포인트를 얻는다! 숫자는 거꾸로되어 있고 쌍으로되어 있습니다 (제공된 길이가 짝수 일 때).

저는 CSS로 책을 만들고 요소의 겹침 순서 (z-index)가이 패턴을 따라야하므로 DOM 상단의 페이지가 실제적으로 가장 아름답게 보입니다.

답변

10
function constructArray(length){ 
    var result = []; 
    for (var i = 0; i < length; i++){ 
     result.unshift(Math.floor(i/2)); 
    }  
    return result; 
} 
+0

완벽한합니다. 고맙습니다. 이것은 실제 Z- 색인에 논리를 적용하는 데 사용 된 코드입니다. 난 그냥 논리와 도움을 필요로 : 'pages.css ('Z- 인덱스'기능() { \t \t \t 반환 Math.floor (pages.length/2) - Math.ceil ($ (이). index()/2); \t \t}), ' –

+0

Damnit. 그건 식칼 이었어. +1 – OptimusCrime

0
function constructArray (a) { 
    var arr = new Array(); 
    var num = 0; 
    for (var i=0;i<a;i++) { 
     arr.push(num); 
     if ((i-1)%2 == 0) 
      num++; 
    } 
    return arr.reverse(); 
} 

작동합니다 :)