2010-11-13 44 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());