2010-11-13 82 views
0

我一直在想如何顯示最新的數組(因爲數組列表會不時更新)。我認爲它有一個默認功能,但我找不到它。任何人都知道嗎?Javascript:獲取最新陣列

var bgImg = new Array(); 

bgImg[0] = "background.jpg"; 
bgImg[1] = "background2.jpg"; 
bgImg[2] = "background3.jpg"; 
bgImg[3] = "background4.jpg"; 
+2

請澄清你在這裏問的問題。 – 2010-11-13 17:44:02

+0

對不起,這只是英語是我的第二語言。 – Aistis 2010-11-13 17:49:13

回答

1

如果你想最後一個元素的數組

>>> a = ['background1','background2']; 
["background1", "background2"] 
>>> b = a[a.length-1] 
"background2" 

你不應該需要手動分配索引。只要做bgImg.push('background2.jpg'),它會改變你的數組。在你的情況下,語法會...

var last = bgImg[bgImg.length-1] 

如果你想最新,那麼你需要做一個變量,並如果沒有任何更新,當你把最新的一個,將其設置成爲最後一個。

1

您可以創建一個小對象來處理這個問題。

function creatImageState() { 
    var images = []; 
    return { 
     get latest() {      
      return images[images.length - 1]; 
     }, 
     set latest (value) { 
      images.push(value); 
     } 
    }; 
} 

var s = creatImageState(); 

s.latest = "a.png"; 
s.latest = "b.png"; 

alert(s.latest); 

IE不支持getter和setter,所以你可能需要使用它。

function creatImageState() { 
    var images = []; 
    return { 
     getLatest : function() {      
      return images[images.length - 1] 
     }, 
     setLatest : function(value) { 
      images.push(value); 
     } 
    }; 
} 

var s = creatImageState(); 

s.setLatest("a.png"); 
s.setLatest("b.png"); 

alert(s.getLatest());