返回一定的指数

时间:2013-08-09 10:29:49

标签: javascript jquery

我有下面的代码,其中函数getImageNum收到一个连接url的数组,所以我将这些url拆分为符号,这样我就可以将它们分开。 我的变量res = path.split(“ - ”)保存分隔的URL。所以res [0]给出了一个如下所示的网址:http://www.host.net/dir/file。 但我的问题是我想获得res var中的每个url,以便我可以在幻灯片放映中使用它。因此,我希望能够使用一个自动保留不同索引的变量而不是res [0]。请参阅以下代码了解该想法。

function getImageNum(imageArray) { 
var path;
var res;
var index = 0;

for (i in imageArray) {
    path = imageArray[i];
}

res = path.split("-");

$("#ContentPlaceHolder1_ContentPlaceHolder1_imageView").attr("src", res[index++]);
}

代码:

$("#ContentPlaceHolder1_ContentPlaceHolder1_imageView").attr("src", res[index++]);

只返回相同的图像,并且不会遍历整个res内容

2 个答案:

答案 0 :(得分:1)

for (i in imageArray) {
    path = imageArray[i];
}

此代码将遍历imageArray中的每个图像,然后每次都将path覆盖到最新图像。如果要在路径中附加更多文本而不是在每个循环中完全替换它,则需要连接。但是,看起来您想要在res变量中存储所有路径的数组,那么为什么还要打扰字符串呢?

for (i in imageArray) {
    res.push(imageArray[i]);
}

其次,index++不会自动遍历所有索引,它只是一个运算符,在它给出旧值后递增值。如果您想要所有图像,则必须手动遍历res中的每个图像。

答案 1 :(得分:0)

如果我理解你想要的东西,'因为它不是很清楚,你的循环问题 正如Lochemage之前所说的,在 for for > > for for循环 / em>,将无效。

var imageArray = ["http://www.example.com/img1-http://www.example.com/img2-http://www.example.com/img3-http://www.example.com/img4","http://www.example.com/img5-http://www.example.com/img6-http://www.example.com/img7-http://www.example.com/img8-http://www.example.com/img9"];
// this is what I assume is your array
var imageArrayNew = [];

for(i=0; i<imageArray.length; i++) {
    res = imageArray[i].split("-");
    for(j=0; j<res.length; j++) {
        imageArrayNew.push(res[j]);
    }
}

// now imageArrayNew is an array that contains Each of the elements in imageArray and you can do stuff with it

http://jsfiddle.net/flish/U5vvv/ - 它看起来的小提琴


编辑删除额外的“ - ”