我有下面的代码,其中函数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内容
答案 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/ - 它看起来的小提琴
编辑删除额外的“ - ”