2013-10-21 2 views
0

11 개의 값으로 배열을 만들었습니다. 간격 동안 내 배열의 값을 슬라이드하려고합니다. 내가 뭘하려고했는지, 매 nms마다 배열의 다음 위치로 값을 슬라이드했습니다. 모든 inteval은 첫 ​​번째 값을 초기화하므로 슬라이드 효과를 원합니다.간격 내 배열의 슬라이딩

var barArray = [0,0,0,0,0,0,0,0,0,0,0]; 
var interval = 0; 

setInterval(function() { 

    temporal = getNewValue; //getting with a function new value 

    barArray[0] = temporal; 

    if(interval == barArray.length) 
    { 
     interval = 0; 
    } 


      for (var i = 0; barArray.length; i++){ 
      // code missing 
    } 


}, 1000); 

해결책을 찾지 않고 많은 것을 시도했습니다.

는 출력 :

 1st interval: [76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]          
     2nd interval: [55, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0] 
     3rd interval: [32,55, 76, 0, 0, 0, 0, 0, 0, 0, 0] 
     11th interval: [..., 32, 55, 76] 
     12th [..., 32,55] ect. ` 
+1

당신이 당신의 입력과 예상 출력 예를 제공하면 당신이 원하는 것을 이해하는 것이 더 쉽습니다. – Tibos

+0

getNewValue()는 1 초마다 새 값을 반환합니다. –

답변

1

은 당신이 여기에 기술 한 것은 큐입니다. 한쪽 끝에 요소를 입력하고 다른 끝에 자동으로 놓습니다. 자바 스크립트 배열은 배열의 양쪽 끝에 요소를 추가하고 추출하는 기능을 가지고 있습니다 (push/pop 및 shift/unshift).

는 결국, 완벽한 솔루션은 다음과 같습니다

var barArray = [0,0,0,0,0,0,0,0,0,0,0]; 

setInterval(function() { 
    barArray.unshift(getNewValue()); 
    barArray.pop(); 
}, 1000); 
+0

아, 답변 해 주셔서 감사합니다 !! –