Javascript:获取最新的阵列

时间:2010-11-13 17:40:44

标签: javascript arrays

我一直在考虑如何显示最新的数组(因为数组列表会不时更新)。我认为它有一个默认功能,但我找不到它。谁知道呢?

var bgImg = new Array();

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

2 个答案:

答案 0 :(得分:1)

如果您想要数组的最后一个元素

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

您不需要手动分配索引。只需执行bgImg.push('background2.jpg'),它就会为你改变数组。在您的情况下,语法将是......

var last = bgImg[bgImg.length-1]

如果您想要最新,那么您需要创建一个变量,并在推送最新的变量时将其设置为您更新的任何变量,如果它不是最后一个变量。

答案 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());